簡體   English   中英

在初始化變量之前檢查變量是否有意義?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM