使用包装类来隐藏错误是否可以接受?

时间:2014-04-28 11:52:57

标签: php oop wrapper helpers

是否可以在类中包装全局数组以使用OOP隐藏undefined错误(并返回false)?如果没有,为什么?

我正在使用以下Input包装器类。主要与我的FormValidator课程一起使用它,这样我就不必为我想要使用/检查的N个输入写isset()

class Input {
    private $_source;

    public function __construct(Array $source){
        $this->_source = $source;
    }

    public function exists() {
        return !empty($this->_source);
    }

    public function get($input) {
        return (isset($this->_source[$input])) ? $this->_source[$input] : false;
    }
}

1 个答案:

答案 0 :(得分:0)

正如您对问题的好评指出的那样,您可以使用不同的方式和更好的内置概念来解决您所构成的问题。

但是要回答你关于PHP中OOP实践的问题,我肯定会认为在你的包装类中隐藏错误是合法的。

我认为它是一个黑盒子,因为你的界面没有记录它,所以可能在外面不知道该错误的概念。

可以在包装器中实现错误处理,以便以后不需要在外部知道的方式处理这些错误。

没关系,但所有错误都应该处理,隐藏它们或者吞下它们会产生奇怪的行为。