我尝试将一些PHP框架的指标与PHP Depend进行比较,结果遇到了恼人的、可能是意外的行为:
@package注释被忽略,取而代之的是名称空间被视为包。这是一个问题,因为通常使用的子命名空间并不意味着是单独的包(即SomePackage\Exception)。
示例类文件
<?php
/**
*
* This file is part of the Aura Project for PHP.
*
* @package Aura.Di
*
* @license http://opensource.org/licenses/bsd-license.php BSD
*
*/
namespace Aura\Di\Exception;
use Aura\Di\Exception;
/**
*
* The named DI container already exists.
*
* @package Aura.Di
*
*/
class ContainerExists extends Exception
{
}示例报告
<package name="Aura\Di\Exception" cr="0.15" noc="5" nof="0" noi="0" nom="0" rcr="0.28114285714286">
...
</package>现在我的问题是:出现这种情况的原因是什么,我如何解决它?
发布于 2013-04-02 04:30:36
@package是一种伪命名空间技术,早在PHP在5.3中获得真正的命名空间之前。因此,我认为几乎所有的静态代码处理工具都会在名称空间存在时选择它们,只有在不存在名称空间时才会退回到使用@package。在命名空间之上继续使用@package作为不同的分组机制的想法有时会被提及,特别是关于phpDocumentor,但我不知道有任何努力在这些类型的应用程序中真正实现这种行为。
https://stackoverflow.com/questions/15682443
复制相似问题