2011-08-07 5 views
0

의 방법 나는이정적 상수와 젠드 프레임 워크 모델 클래스

class UserModel extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'users'; 
    protected $_primary = "id"; 

    const SEX_MALE = "male"; 
    const SEX_FEMALE = "female"; 

    const MIN_AGE = 13; 

    public static function age(Zend_Date $bornDate) { 

     $now = new Zend_Date(null, null, Zend_Locale::BROWSER); 

     $diff = $now->sub($bornDate); 

     $age = floor($diff->toValue()/31556926); 

     if ($age < 0) { 

      throw new Zend_Date_Exception("invalid date"); 

     } 

     return $age; 

    } 

} 

같은 젠드 프레임 워크 모델 클래스 그것은 삽입, 제거 또는 레코드를 업데이트 할 수있는 모든 기능을해야합니다 있습니다.

하지만 정적 함수 나 정적 상수에 액세스하려고하면 클래스를 찾지 못한다고합니다.

클래스를 표시하려면 어떻게해야합니까?

+0

사용중인 코드는 무엇입니까? – moteutsch

+0

자세한 내용을 제공해 주시겠습니까? 자동 로딩을 사용하고 있습니까? 그렇다면 Zend_Loader_Autoloader를 사용합니까? 오류/예외 메시지와 스택은 무엇입니까? –

+0

도움을 주셔서 감사합니다 :) 정적 상수 및 양식에서 정적 함수에 액세스하려고합니다. 오류는 간단합니다 : 치명적인 오류 : Class 'UserModel'/home/content/22/7907922/html/awatag20/library/Form/NewAwatag.php on line 62에 없습니다. –

답변

0

모두는 클래스를 사용하는 방법과이 경우 모델 클래스를 사용하는 방법에 따라 다릅니다. UserModel.php라는 파일 만 있다고 가정 할 수 있습니다. 그러한 파일이 있고 기본 설정을 따르는 경우 application/models 폴더에 있어야합니다. 그게 문제가 아니라면 간단합니다. 클래스 이름을 Application_Model_UserModel으로 바꿉니다. 물론이 새로운 이름으로 수업을해야합니다!

기본 설정이 없으면 클래스가있는 파일에 대해 include()가 누락되었을 수 있습니다.

+0

답변을 주셔서 감사합니다. _Application_Model_UserModel_ 표준 이름인가요? Zend Studio에서 저 이름을 추천 해 주겠습니까? –

+0

그것은 작동하지 않는 것 같습니다. 파일이 _application/models/UserModel.php_에 있으며 클래스 이름이 _Application_Models_UserModel_ 인 경우 –

+0

폴더 이름이'models' (복수형)이지만 클래스는'_Model_' (단수)이어야하며 오토로더에 필요합니다. 그렇지 않으면 내가 수동으로 파일을'include()'해야한다고 말했다. –