Есть причина устанавливать значение для переменных в конструкторе класса, а не когда вы объявляете их? Я понимаю, что вы не можете передавать данные в переменные, если вы попытаетесь установить их, когда они будут объявлены, но как насчет вещей, которые всегда будут одинаковыми (я вудрую «всегда» - это жесткое претензию)?
class variables_set_outside_constructor
{
private $admin_name = 'jeff';
private $current_working_directory = get_cwd();
function __construct() {}
}
как В отличие от этого:
class variables_set_inside_constructor
{
private $admin_name;
private $current_working_directory;
function __construct()
{
$this->admin_name = 'jeff';
$this->current_working_directory = get_cwd();
}
}
Каковы преимущества и недостатки значений настроек в конструкторе против, когда они объявлены? Мне также интересно любые языковые агностические аспекты.