来自 C++,我习惯于能够直接在类的主体中访问类成员,但是,这在 php 中似乎不起作用——简单的 setter 和 getter 无法工作,除非明确使用$this->
来访问它们。Setter 似乎设置为一个被丢弃的临时对象,而 getter 会在尝试访问不存在的对象时产生错误。
有没有办法直接访问类体内的成员而无需this
php 中的关键字?
不,那里没有。设置一个未定义的变量将为当前范围创建它,这就是您所观察的。(虽然这不是成员变量) - 您甚至可以从未定义的变量中读取,在这种情况下,该值将为空。这会产生一个E_NOTICE
虽然,所以它不被认为是好的风格。
请阅读http://php.net/manual/en/language.oop5.php给出代码片段以查看您面临的确切问题