我有以下模型类,但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显示行类方法?
答案 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
}
}