对于PHP中类体内的成员访问,“this”是强制性的吗?

时间:2012-11-20 10:22:30

标签: php this member

来自C ++我习惯能够直接在类的主体中访问类成员,但是,这似乎在php中不起作用 - 简单的setter和getter无法工作,除非明确使用{{1}访问它们。 Setter似乎设置为一个被丢弃的临时对象,getter会生成尝试访问不存在的对象的错误。

有没有办法在php中没有$this->关键字的情况下直接访问类体内的成员?

2 个答案:

答案 0 :(得分:3)

不,没有。设置一个未定义的变量将为当前范围创建它,这就是您正在观察的内容。 (虽然这不是成员变量) - 您甚至可以从未定义的变量中读取,在这种情况下,该值将为null。这会产生一个E_NOTICE,所以它不被认为是好的风格。

答案 1 :(得分:0)

请阅读http://php.net/manual/en/language.oop5.php提供代码段,以了解您所面临的确切问题