anlutro / phint
该软件包已被弃用且不再维护。没有建议的替代软件包。
dev-master
2017-10-11 18:52 UTC
Requires
- nikic/php-parser: *
- symfony/finder: ~2.6|~3.0
Requires (Dev)
- phpunit/phpunit: >=4.8, <6
This package is not auto-updated.
Last update: 2020-01-24 15:34:20 UTC
README
Phint 是一个用于 PHP 的静态代码分析工具。目前仍处于开发中。目前检查的项目包括:
- 未定义变量
- 被调用的属性/方法实际存在
- 在您的代码中使用的类实际存在(实例化、类型提示、
instanceof
) - 实际存在的异常被捕获并且是异常(例如
catch (stdClass $e)
将报错) - 实际存在的函数被调用
- 方法和函数调用时参数数量正确
更多功能即将推出。请查看 Github 上的问题。
安装
按项目进行
composer require --dev anlutro/phint:dev-master@dev
./vendor/bin/phint /path/to/src
全局
wget https://files.lutro.me/phint.phar
chmod +x phint.phar
sudo mv phint.phar /usr/local/bin
phint /path/to/src
使用
请注意,运行 Phint 时您必须在项目的根目录下。您还需要确保 vendor/autoload.php
中存在 composer 自动加载器。
简单命令运行示例输出
您可以通过传递 --strict
或 -s
参数来获取更多错误。标记为严格的错误更可能出错,但随着时间的推移应该更准确。
您还可以传递 --debug
或 -d
来获取一些调试信息。目前这并不多,除非遇到致命错误,在这种情况下您可能会得到更多信息。
默认情况下,如果传递目录或多个文件路径给命令,Phint 将分析所有这些文件,并随着分析过程输出错误。如果传递 --exit-early
或 -e
,Phint 将在找到包含错误的文件后立即退出。
注意
此工具对您如何使用它以及您的应用程序做了一些非常重的假设。
您的项目 必须 在 vendor/autoload.php
中有某种类型的自动加载注册脚本。此自动加载器 必须 使项目中的每个类和函数都可用。
如果所有被检查的文件都是具有方法的类,那么检查器效果最好。
贡献
有关贡献的信息,请参阅 CONTRIBUTING.md 文件。
许可
此存储库的内容在 GPL v3 许可证 下发布。有关更多信息,请参阅包含的 LICENSE 文件。