Переменная класса объекта PHP

Я создал класс в PHP, и я должен объявить переменную класса как объект. Каждый раз, когда я хочу объявить пустой объект, который я использую:

$var=new stdClass; 

Но если я использую его для объявления переменной класса как

 class foo { var $bar=new stdClass; } 

возникает ошибка синтаксического анализа. Есть ли способ сделать это или я должен объявить переменную класса как объект в функции конструктора?

PS: Я использую PHP 4.

Related of "Переменная класса объекта PHP"

Вы можете объявлять статические значения только для членов класса, т. ints , bools , bools , arrays и т. Д. Вы не можете делать ничего, что связано с обработкой любого типа, например, вызовом функций или созданием объектов.

Вам нужно будет сделать это в конструкторе.

Соответствующий раздел руководства :

В PHP 4 допускаются только постоянные инициализаторы для переменных var. Чтобы инициализировать переменные с непостоянными значениями, вам нужна функция инициализации, которая вызывается автоматически, когда объект строится из класса. Такая функция называется конструктором (см. Ниже).

Классы и объекты (PHP 4) . Хороший читать каждый раз!

Вы не должны создавать свой объект здесь.

Вам лучше писать сеттер и getter

 <?php class foo { var $bar = null; function foo($object = null) { $this->setBar($object); } function setBar($object = null) { if (null === $object) { $this->bar = new stdClass(); return $this; } $this->bar = $object; return $this; } } 

Кстати, вы должны использовать PHP5 для работы с OOP, что более гибко …