php – 使用singleton检索对象而不是new运算符时netbeans自动完
发布时间:2020-12-13 14:15:07 所属栏目:PHP教程 来源:网络整理
导读:当我使用’new’运算符来实例化一个类时,netbeans没有问题来自动完成对象的成员. $instance = new Singleton();$instance- // shows test() method 但是当我使用单例来检索对象时,它无法自动完成检索对象中的成员. getInstance代码如下所示: public functio
当我使用’new’运算符来实例化一个类时,netbeans没有问题来自动完成对象的成员.
$instance = new Singleton(); $instance-> // shows test() method 但是当我使用单例来检索对象时,它无法自动完成检索对象中的成员. getInstance代码如下所示: public function test() { echo "hello"; } public static function getInstance() { if ( ! is_object(self::$_instance)) { self::$_instance = new self(); self::$_instance->initialize(); } return self::$_instance; } 所以我使用: $instance = Singleton::getInstance(); $instance-> // no autocompletion! 有没有人有同样的问题? 我该如何解决这个问题? 谢谢!
在分配之前,您可以添加注释以指示$instance的类型:
/* @var $instance Singleton */ $instance = Singleton::getInstance(); 你会得到自动完成:
(最近每晚建立的netbeans测试) 另一种解决方案是在getInstance()方法的声明中添加一个docblock,以指示它返回Singleton类的实例: /** * @return Singleton */ public static function getInstance() { } 然后,您还将获得自动完成功能: http://extern.pascal-martin.fr/so/question-2796730-netbeans-2.png (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |