Netbeans自动完成方法Zend模型类

时间:2011-09-21 20:27:07

标签: php zend-framework netbeans autocomplete zend-db-table

我有以下模型类,但netbeans 7.0.1自动完成功能不适用于行类。

模特课程:

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

我怎样才能使netbeans显示行类方法?

1 个答案:

答案 0 :(得分:4)

因为netbeans大量使用docblock注释(在这种情况下find是一个继承的方法),除非你明确地将返回类型放在方法的注释块中,否则Netbeans并没有真正了解该做什么。 / p>

你可以通过添加这样的块来帮助它:

/* @var $variable ClassName */

在你的代码中是这样的

$paymentsModel = new Application_Model_DbTable_Payments();

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

它会“暗示”netbeans关于变量是什么。

更新:这是从类/方法声明中执行此操作的示例。在这个例子中,$ something是Application_Model_Token的实例化。

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