2012-12-16 3 views
3

:PHP 함수가 작동하지 않습니다 나는 다음과 같은 기능을 오버라이드 (override) 클래스에서 CFormModel를 확장하는 클래스,</p> <p>만든 경우 현재 내가 YII 프레임 워크를하고 있어요

를 나는 확실히 종료일과 시작일을하려면 다음과 같은 검사를 뒀다
public function __get($name) 
public function __set($name, $value) 

if(!empty($this->end_date) AND !empty($this->start_date)) 
{ 
     **/*Not Working*/** 
     /*Some Application Logic*/ 
} 

null이 아닌하지만 제대로 작동하지 않습니다와 조건이 g을하지 않습니다 만족하는 만족. 코드를 디버깅 할 때 $this->start_date$this->end_date이 비어 있다는 것을 알게되었습니다. 예상대로 작동

if($this->end_date!='' AND $this->start_date!='') 
{ 
     **/*Working*/** 
     /*Some Application Logic*/ 
} 

하지만, 빈 기능이 제대로 작동하지 않을 이유를 아직도 나는하지 않는다 : 그 후 나는 다음에 검사를 변경했습니다. 마술 방법 때문인가요? 아니면이 문제에 대한 이유가 있습니까?

답변

5

이 작업을 수행하려면 마법 __isset() 메서드를 정의해야합니다.

액세스 할 수없는 속성에 대해 isset() 또는 empty()가 호출됩니다.

+0

오 OK 솔루션에 대한 감사 – sarvesh