[英]Does it make sense to check variable before initalizie it?
如果我檢查對象是否已經以php之類的語言存在,有什么好處?
/**
* User object
* @var My_Model_User
*/
protected $user = null;
/**
* Setup
*/
public function __construct()
{
if ($this->user === null) {
$this->user = new stdClass();
}
}
在您的特定示例中,它沒有任何意義,因為構造函數是要執行的第一個方法。 因此,在此之前,對象不存在,因此對象的成員也不存在,因此,只需假設變量仍保持其初始值就可以了。
但是,如果您使用的變量在對象使用期間會發生變化,那么最好檢查這些變量是否存在關鍵部分。 例如,當您具有用於某些服務器連接的連接對象,並且可以在不破壞對象(保存該連接)的情況下關閉連接時,最好在每次訪問時檢查連接是否仍然存在它。
除非$ user是靜態的,並且您正在嘗試實現Singleton模式,否則不需要這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.