vektah / bugfree-dangerzone
该包最新版本(0.4.3)没有可用的许可信息。
对 PHP 源代码进行类型验证。确保文件中的所有使用和类型都通过项目的自动加载器验证。
0.4.3
2016-11-14 04:51 UTC
Requires
- php: >=5.5.0
- doctrine/annotations: *
- nikic/php-parser: 3.0.*@beta || ^3.0
- symfony/console: *
- vektah/common: *
- vektah/parser-combinator: *
Requires (Dev)
- phake/phake: v2.0.0-alpha4
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: 1.*
- vektah/psr2: *
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 将保持您当前的设置并添加任何新默认值。