以下在 php 中是合法的。
class Foo{
function setBar($bar){
$this->bar = $bar;
}
}
有没有办法在使用前生成属性Foo#bar
未声明的通知?我厌倦了浪费时间调试错别字。
以下在 php 中是合法的。
class Foo{
function setBar($bar){
$this->bar = $bar;
}
}
有没有办法在使用前生成属性Foo#bar
未声明的通知?我厌倦了浪费时间调试错别字。
我认为这就是你所追求的:
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' );
这里发生的是,当调用超出范围的类属性时,会调用魔术 __get 或 __set。在那里你可以决定如何处理这种情况。