以下内容在php中是合法的。
class Foo{
function setBar($bar){
$this->bar = $bar;
}
}
有没有办法生成一个通知,说明在使用之前尚未声明属性Foo#bar
?
我厌倦了浪费时间调试拼写错误。
答案 0 :(得分:2)
我认为这就是你所追求的目标:
class Foo
{
function setBar( $bar )
{
$this->bar = $bar;
}
public function __set( $name, $value )
{
throw new Exception( 'Can not set property ' . $name );
}
}
$foo = new Foo();
$foo->setBar( 'bar' );
这里发生的是当调用超出范围的类属性时,将调用magic __get或__set。在那里,您可以决定如何处理这种情况。