当Magic Method\uuu get&;时,PHP函数Empty不起作用__在类中定义的集合
目前我在YII框架中工作,我创建了一个扩展CFormModel的类 在该类中,I覆盖以下功能:当Magic Method\uuu get&;时,PHP函数Empty不起作用__在类中定义的集合,php,yii,magic-methods,Php,Yii,Magic Methods,目前我在YII框架中工作,我创建了一个扩展CFormModel的类 在该类中,I覆盖以下功能: public function __get($name) public function __set($name, $value) 我已经进行了以下检查,以确保结束日期和开始日期不为空 if(!empty($this->end_date) AND !empty($this->start_date)) { **/*Not Working*/** /*Some App
public function __get($name)
public function __set($name, $value)
我已经进行了以下检查,以确保结束日期和开始日期不为空
if(!empty($this->end_date) AND !empty($this->start_date))
{
**/*Not Working*/**
/*Some Application Logic*/
}
但它不能正常工作,条件也不能令人满意。当我调试代码时,我知道$this->start\u date
和$this->end\u date
不是空的。之后,我将支票更改为以下内容:
if($this->end_date!='' AND $this->start_date!='')
{
**/*Working*/**
/*Some Application Logic*/
}
它按预期工作,但我仍然不明白为什么空函数不能正常工作。
这是因为magic method,还是有任何原因导致此问题?您必须定义一个magic method才能使其正常工作
public function __isset($name) {
return isset($this->data[$name]);
}
对于不可访问的属性,将触发对isset()或empty()的调用。哦,好的,谢谢您的解决方案