【发布时间】:2017-07-10 18:17:09
【问题描述】:
我的PhpStorm直接调用时找不到单例类的方法。
这行得通:
$db = Database::getInstance();
/** @var Database $db */
$this->db = $db->getDatabase(IMS_DB);
这不是
/** @var Database Database::getInstance */
$this->db = Database::getInstance()->getDatabase(IMS_DB);
它说找不到方法getDatabase。
有什么想法吗?
【问题讨论】:
-
您好,欢迎来到 Stack Overflow,请花点时间通过 welcome tour 了解您在此处的方式(并获得您的第一个徽章),阅读如何创建 Minimal, Complete, and Verifiable example并检查How to Ask Good Questions,这样您就有机会获得反馈和有用的答案。
-
请举一个更详细的例子来详细说明,并准确描述您采取的步骤以及没有按预期工作的步骤。
-
"Any Ideas?" 是的——你上次的 PHPDoc 是错误的——它不是那样工作的。您不能以这种方式在另一个类中键入一些方法。像这样的类型提示适用于局部变量(比如首先,您输入提示
$db变量)。如果您需要Database::getInstance()的 typehint 返回类型,则必须在Database类中完成。 -
您的权利。 @LazyOne 我在数据库类中犯了一个错误。在那里设置正确的返回类型可以解决问题。谢谢
标签: php singleton phpstorm phpdoc