我使用的框架允许向框架的基类添加新组件。有没有办法在不更改框架文件的情况下记录这些新方法,以便我可以点击IDE中的方法。
答案 0 :(得分:0)
主要取决于您使用的IDE。我认为你应该扩展基类并添加一些带有phpdoc注释的新方法/属性。当然,改变框架的文件并不是你已经提到的解决方案
答案 1 :(得分:0)
您可以使用新文档扩展原始类,重新定义函数,并调用父函数。 e.g。
class newClass extends originalClass
{
/**
* New PHPDoc
*/
function functionName($a)
{
return parent::functionName($a);
}
}
答案 2 :(得分:0)
尝试使用@see或inline @link指令。
答案 3 :(得分:0)
我强烈建议不要尝试注入子类。如果框架实例化了您直接扩展的类,那么您需要找到一种方法来让它使用您的子类。
NetBeans和PhpStorm(可能还有许多其他人)将组合来自同一类/接口的多个定义的元素。这允许您在不修改原始源的情况下向任何现有类添加属性和方法。
/**
* Framework controller base class.
* Provides helpers via __call().
*/
class Framework_Controller { ... }
现在在您的代码库中创建一个您永远不需要包含相同类定义的文件。您的IDE仍应解析它并将其元素与上面的类合并:
if (false) { // Safety first!
/**
* ACME Co. controller base class.
*
* @method ACME_Model_User getUser Load user via authentication helper
*/
class Framework_Controller { /* nothing to add */ }
}
您可以尝试使用界面并正常声明方法,而不是使用@method
。这就是我们对Zend_View
所做的事情,因为它已经是一个接口。我没有尝试将类与界面混合,看看PhpStorm是否喜欢它。