Почему установить переменные внутри конструкции класса PHP, когда вы можете установить их, когда они будут объявлены?

Есть причина устанавливать значение для переменных в конструкторе класса, а не когда вы объявляете их? Я понимаю, что вы не можете передавать данные в переменные, если вы попытаетесь установить их, когда они будут объявлены, но как насчет вещей, которые всегда будут одинаковыми (я вудрую «всегда» - это жесткое претензию)?

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();
    }
}

Каковы преимущества и недостатки значений настроек в конструкторе против, когда они объявлены? Мне также интересно любые языковые агностические аспекты.

9
задан T. Brian Jones 11 June 2015 в 01:07
поделиться