Я просматривал документацию PHP и видел несколько комментариев, где переменный был инициализированы вне конструктора класса, подобных следующему:Инициализация переменные вне РНР конструктора
classMyClass {
private $count = 0;
public function __construct() {
//Do stuff
}
}
In PHP Objects, Patterns, и Практика, автор рекомендует использовать конструкции только для инициализации свойств, откладывая любую тяжелую или сложную логику на специализированные методы. Этот учебник (быстрый пример, который я нашел в Google) также рекомендует использовать конструкторы для инициализации свойств: http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.php.
Почему вы хотите инициализировать переменную вне конструктора? Это просто небрежное кодирование, или есть причина сделать что-то подобное? Я должен сказать, что до недавнего времени я инициализировал значения по умолчанию вне конструктора, и, похоже, не существует каких-либо программных преимуществ одного из способов.
Это просто хорошая практика программирования. – Brian
, когда вы просто хотите инициализировать простые переменные, это довольно ясно, делая это вне конструктора, для более сложных инициализаций используйте конструктор. –
. Пример, который вы опубликовали, представляет значение по умолчанию для переменной count. Рекомендуется указать значение по умолчанию - таким образом вы будете знать, что тестировать, чтобы выяснить, выполнено ли назначение в вашем конструкторе или в другом месте. – blearn