2013-11-15 2 views
3

Symfony 1.4 и Propel участвуют, но я не уверен, что они вызывают странное поведение, описанное ниже.У Null есть класс?

$this->_parent = TestPeer::retrieveByPK($this->getParentId()); 
var_dump(get_class($this->_parent), $this->_parent); 

распечатывает 'Test' и 'null'.

Как это может быть так?

PS

1/$ this-> getParentId() возвращает целое число, не соответствующая запись в БД, так что $ это -> _ родитель должен быть пустым.

2/PHP 5.5.6, Xdebug, opcache

ответ

4

Цитата The PHP Manual для get_class:

5.3.0 NULL стал значением по умолчанию для объекта, так передавая NULL объекта теперь имеет тот же результат не передается никакой ценности.

Который вместе с:

Возвращает имя класса которого объект является экземпляром. Возвращает FALSE, если объект не является объектом.

Если объект отсутствует в классе, имя этого класса возвращает .

... означает, что при передаче значения null вы получаете имя класса, содержащего вызов.

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