我一直在尋找通過PHP文件,看到一些意見,其中一個變量是一個類的構造函數之外初始化,類似以下內容:初始化PHP構造函數之外的變量
classMyClass {
private $count = 0;
public function __construct() {
//Do stuff
}
}
在PHP對象,模式,和練習,作者建議僅將結構用於屬性的初始化,將任何繁重或複雜的邏輯推遲到專門的方法。本教程(我在Google上找到的一個簡單示例)也建議使用構造函數來初始化屬性:http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.php。
爲什麼要在構造函數外初始化一個變量?這只是草率的編碼,還是有理由做這樣的事情?我不得不說,直到最近,我還是在構造函數之外初始化了默認值,並且似乎沒有任何一種方式的優勢。
這只是一個很好的編程習慣。 – Brian
當你只想初始化簡單變量時,很清楚在構造函數外部執行它,對於更復雜的初始化,使用構造函數 –
您發佈的示例爲$ count變量提供了默認值。提供一個默認值是一個不錯的主意 - 通過這種方式,您將知道要測試什麼,以確定您的構造函數或其他地方的賦值是否成功。 – blearn