2010-12-02 1 views
0

Есть ли разница между этими методами объявления и установки переменной открытого класса? Есть ли какая-то причина, по которой вы выбрали бы одну из них?Лучший метод определения переменной открытого класса в PHP

Метод 1

class example { 

    public $myArray; 

    function __construct() { 
    $this->myArray = array(1, 2, 3); 
    } 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

Метод 2

class example { 

    public $myArray = array(1, 2, 3); 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

ответ

2

В первом случае код будет оцениваться каждый раз при создании нового экземпляра класса.

Во втором случае - он будет оцениваться только один раз, когда класс был разобран.

Это все.

+0

Так, я полагаю, вы только захотите установить публичную переменную класса с помощью конструктора, если сначала нужно было вычислить переменную? Итак, в случае моего примера, когда массив никогда не изменится, метод 2 будет правильным? – Chris 2010-12-02 07:07:07

Смежные вопросы