gpt4 book ai didi

PHP Depend (pdepend) 忽略@package 并使用 namespace 作为包

转载 作者:搜寻专家 更新时间:2023-10-31 21:12:44 24 4
gpt4 key购买 nike

我试图将一些 PHP 框架的指标与 PHP Depend 进行比较,结果遇到了烦人且可能是意外的行为:

@package 注释被忽略,命名空间被视为包。这是一个问题,因为经常使用的子 namespace 并不意味着作为单独的包(即 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>

现在我的问题是:这是什么原因,我该如何解决?

最佳答案

@package 是一种伪命名空间技术,早在 PHP 在 5.3 中获得真正的命名空间之前。因此,我认为几乎所有的静态代码处理工具都被编写为在 namespace 存在时选择 namespace ,并且只有在不存在 namespace 时才回退到使用@package。偶尔会提到继续使用 @package 作为 namespace 之上的不同分组机制的想法,特别是关于 phpDocumentor,但我不知道在任何这些类型的应用程序中真正实现这种行为的任何努力.

关于PHP Depend (pdepend) 忽略@package 并使用 namespace 作为包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com