如果我检查对象是否已经存在于像php这样的语言中,是否有任何优势?
/**
* User object
* @var My_Model_User
*/
protected $user = null;
/**
* Setup
*/
public function __construct()
{
if ($this->user === null) {
$this->user = new stdClass();
}
}
答案 0 :(得分:1)
在您的特定示例中,它没有任何意义,因为构造函数是要执行的第一个方法。所以之前,该对象不存在,因此它的成员也不存在,所以你可以简单地假设变量仍然保持其初始值。
但是,如果您使用的变量在使用过程中会发生变化,那么检查关键部件的存在性可能是个好主意。例如,如果某个服务器连接有一个连接对象,并且可以在不破坏对象(拥有该连接)的情况下关闭连接,那么在您想要访问时检查连接是否仍然存在是个好主意。它
答案 1 :(得分:1)
除非$ user是静态的,并且您正在尝试实现Singleton模式,否则无需执行此操作。