在phpdoc中,在单独的文件中定义类属性

时间:2014-05-06 09:41:19

标签: php phpdoc

我使用的框架允许向框架的基类添加新组件。有没有办法在不更改框架文件的情况下记录这些新方法,以便我可以点击IDE中的方法。

4 个答案:

答案 0 :(得分:0)

主要取决于您使用的IDE。我认为你应该扩展基类并添加一些带有phpdoc注释的新方法/属性。当然,改变框架的文件并不是你已经提到的解决方案

答案 1 :(得分:0)

您可以使用新文档扩展原始类,重新定义函数,并调用父函数。 e.g。

class newClass extends originalClass
{
    /**
    * New PHPDoc
    */
    function functionName($a)
    {
        return parent::functionName($a);
    }
}

答案 2 :(得分:0)

尝试使用@seeinline @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是否喜欢它。