当Magic Method\uuu get&;时,PHP函数Empty不起作用__在类中定义的集合

当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

目前我在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 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()的调用。

哦,好的,谢谢您的解决方案