vektah/bugfree-dangerzone

该包最新版本(0.4.3)没有可用的许可信息。

对 PHP 源代码进行类型验证。确保文件中的所有使用和类型都通过项目的自动加载器验证。

安装次数: 30,465

依赖项: 26

建议者: 0

安全性: 0

星标: 18

关注者: 2

分叉: 2

类型:type-verifier

0.4.3 2016-11-14 04:51 UTC

README

Bugfree Dangerzone 是一个用 PHP 编写的 PHP 命名空间验证器。它使用您的自动加载器来验证

  • 所有使用语句都是有效的
  • 所有异常捕获块和类型提示都有有效的类型
  • 所有文档块类型都是有效的(例如 @param Foo $foo)
  • 所有 Doctrine 注释都可以解析(例如 @FOobar())
  • 构造函数和静态方法的访问级别验证
  • 最后,确保所有使用语句实际上都使用了。

入门指南

将 "vektah/bugfree-dangerzone" 添加到您的项目的 composer.json 中,它应该看起来像这样

    "require-dev": {
        "vektah/bugfree-dangerzone": "0.2.0"
    },

然后当然

composer.phar update

更新您的依赖项

然后运行

./vendor/bin/bugfree lint src

如果您的项目有自己的自动加载器,您可以使用它代替

./vendor/bin/bugfree lint --bootstrap yourautoloader.php src

XML 输出

对于像 Jenkins 这样的 CI 工具,一些漂亮的测试计数输出远远不够!

为了生成机器可读的输出

./vendor/bin/bugfree lint src --junitXml junit_results.xml --checkstyleXml checkstyle_results.xml

配置

Bugfree Dangerzone 默认非常挑剔,但降低其冗余性很容易。

从您的项目基本目录运行

./vendor/bin/bugfree generateConfig

这将构建一个配置文件 bugfree.json 到您的当前目录中

{
    "emitLevel": {
        "unableToResolveType": "error",
        "unableToResolveTypeInComment": "error",
        "unableToResolveUse": "error",
        "useOfUnqualifiedType": "warning",
        "useOfUnqualifiedTypeInComment": "warning",
        "duplicateAlias": "error",
        "malformedUse": "error",
        "multiStatementUse": "warning",
        "missingNamespace": "error",
        "unusedUse": "warning"
    }
}

这些警告类型可以是错误、警告或抑制。例如,要忽略所有关于缺少命名空间的消息,只需将

"missingNamespace": "error",

改为

"missingNamespace": "suppress",

如果将来配置更新以包含更多选项,再次运行 generateConfig 将保持您当前的设置并添加任何新默认值。