Переменная-член и функция-член имеют одно и то же имя
class test {
public $isNew;
public function isNew(){}
}
$ins = new test();
$ins->isNew
Здесь, как php parse $ins->isNew
?
Ответы
Ответ 1
PHP не является функциональным языком программирования, где функции также являются данными. Поэтому $ins->isNew
не будет двусмысленным либо ссылаться на метод isNew
, либо на атрибут isNew
. $ins->isNew
всегда является атрибутом и $ins->isNew()
вызовом метода.
Ответ 2
$ins->isNew
- это переменная.
$ins->isNew()
- это функция.
Ответ 3
См. главу Class Basic в руководстве по PHP:
$ins->isNew // class member
$ins->isNew() // class method