在@param中使用命名空间

Seb*_*uer 8 php namespaces phpdoc

在@param注释中包含类的命名空间是一种好习惯吗?我知道phpdoc不支持名称空间,但是phpdox或Doxygen等其他工具会如何起作用?

哪种方式更好/更常见?

namespace foo\someNamespace;
use foo\someOtherNamespace\MyOtherClass;

--- with namespace ---

/**
 * @param \foo\someOtherNamespace\MyOtherClass $otherClass
 */
class myClass(MyOtherClass $otherClass)
{
    // do something
}

--- without namespace ---

/**
 * @param MyOtherClass $otherClass
 */
class myClass(MyOtherClass $otherClass)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*rko 2

命名空间是类的完整名称的一部分。因此,如果您不将命名空间添加到 @param 中的类名中,则会给出错误的类型。

我个人认为命名空间很快就会成为 PHP 中类组织的主要标准。所以文档工具都必须使用它们。