2011-09-21 4 views
0

다음 모델 클래스가 있지만 netbeans 7.0.1 자동 완성은 행 클래스에서 작동하지 않습니다.Netbeans 자동 완성 메소드 Zend Model 클래스

모델 클래스 :

class Application_Model_DbTable_Payments extends Zend_Db_Table_Abstract { 
    protected $_name = 'payments'; 
    protected $_rowClass = 'Application_Model_Payment'; 

} 

행 클래스 :

class Application_Model_Payment extends Zend_Db_Table_Row_Abstract { 
    public function setIdentifier($identifier = null){ 
     return $this->identifier = $identifier; 
    } 
} 

코드 :

내가 넷빈즈는 행 클래스 메서드를 표시 할 수있는 방법을
$paymentsModel = new Application_Model_DbTable_Payments(); 
$payment = $paymentsModel->find(1)->current();// return an Application_Model_Payment Object 
$payment->setIdentifier();//doesn't appear on netbeans autocomplete, only Zend_Db_Table_Row methods appers 

?

+0

당신은 내가 그냥 수정, 당신은 Application_Model_DbTable_Paymenty 및 Application_Model_Payment이 – ufucuk

+0

옵스 잘못 입력 한, 모든 클래스라는 Application_Model_DbTable_Payments이 없습니다. – dextervip

답변

4

netbeans는 메소드의 주석 블록에 명시 적으로 반환 유형을 넣지 않는 한 docblock 주석 (이 경우 find는 상속 된 메소드)을 사용하므로 Netbeans는 실제로 수행 할 단서가 없습니다.

이 같은 블록 추가 수행하여에게 손을하지만 제공 할 수 있습니다 : 변수가 무엇인지에 대한 사용자의 코드과 같이

$paymentsModel = new Application_Model_DbTable_Payments(); 

/* @var $payment Application_Model_Payment */ 
$payment = $paymentsModel->find(1)->current();// return an Application_Model_Payment Object 
$payment->setIdentifier(); 

그것은 것이다 '힌트'넷빈즈를

/* @var $variable ClassName */ 

을 .

업데이트 : 다음은 클래스/메소드 선언에서 수행 한 예입니다. 이 예에서 $ something은 Application_Model_Token의 인스턴스입니다.

class User 
{ 
    /** 
    * @return Application_Model_Token 
    */ 
    public function reset() 
    { 
    //Some code etc 
    return $something 
    } 
} 
+0

클래스 메서드에서 클래스 할당이 발생하면이 선을 DocBloc 메서드로 이동시킬 수 있습니까? 이 한 줄 주석을 모두 포함하지 않아도됩니다. TBH – Sjwdavies

+0

예 - 클래스 선언을 docblock 메소드에 대한 반환에 넣으십시오. (이 방법은 netbeans가 작동하지 않으므로 Zend_Db에서 약간 떨어진 것입니다. (예 : 행 클래스) –

+0

아쉽게도 죄송하지만 예제로 무엇을 의미하는지 설명 할 수 있습니까? – Sjwdavies

관련 문제