我有一個Zend框架項目下面的類:Netbeans的自動完成不工作的自定義PHP類
<?php
/**
* User's class
*
* This class should be responsible for all
*
* @author Steve Davies
* @copyright 2012
* @version SVN: $Id$
*/
class Api_Admin_Users extends Api_Core
{
/**
* Class Constructor
*
* @return void
*/
public function __construct() {
parent::__construct();
}
/**
* Get User's name
*
* This returns the user's name
*
* @return void
*/
public function new() {
$user = self::_instance()->_em->getRepository('UserManagement\Users')->find('1');
echo $user->getFullName();
}
}
然而,當我嘗試使用代碼提示上$user->getFullName();
,這是行不通的。
使用下面的技巧從here,它的工作原理:
/**
* Get User's name
*
* This returns the user's name
*
* @return void
*/
public function new() {
/* @var $user \UserManagement\Users */
$user = self::_instance()->_em->getRepository('UserManagement\Users')->find('1');
echo $user->getFullName();
}
不過,我不希望有包括註釋行,每次我實例化對象。當我嘗試將它移到類定義 - 甚至是方法定義時,它無法工作。
任何人都可以爲此提供答案?
謝謝,但我對你的回答感到困惑。是否可以通過操作Method DocBloc來讓NetBeans識別User類? – Sjwdavies 2012-02-24 13:18:26
不是在這種情況下,我很害怕。您需要記錄getRepository始終返回用戶存儲庫,但顯然不是這樣,並且會導致其他地方出現錯誤的typehints。 – Mchl 2012-02-24 13:51:42
我想你會誤解,$ user將等同於UserManagement \ Users對象的一個實例。上面的例子包括Doctrine2功能,但從本質上講,$ user是用戶對象的一個實例 - 不是存儲庫。 – Sjwdavies 2012-02-24 15:20:31