seferov / typhp
强制类型声明
v0.2.0
2019-10-24 18:37 UTC
Requires
- php: ^7.1
- jean85/pretty-package-versions: ^1.2
- nikic/php-parser: ^4.2
- phpdocumentor/reflection-docblock: ^4.3
- symfony/console: ^4.3
- symfony/finder: ^4.3
- symfony/process: ^4.3
- symfony/stopwatch: ^4.3
- symfony/yaml: ^4.3
Requires (Dev)
- phpunit/phpunit: ^7.5
- symfony/var-dumper: ^4.3
This package is auto-updated.
Last update: 2024-08-29 04:48:37 UTC
README
typhp
是一个简单的工具,用于检查是否声明了参数或返回值的类型。与静态分析工具不同,它不会指出可能存在的错误和问题,而是建议尽可能地进行类型提示。
适用对象
- 使用 PHP 7.1 及更高版本的项目开发者。
- 不希望在代码审查过程中通过 CI 流程使用它指出代码中缺少类型提示和返回类型声明的人。
- 喜欢严格类型和防御性编程的人。
功能
- 尊重 phpdoc;在一些罕见情况下,需要混合或复合类型。如果这些情况在 phpdoc 中进行了文档化,
typhp
不会报错。例如:@return array|bool
,@param mixed $foo
等。 - 考虑 魔术方法。
- 基于配置进行分析。包含/排除要分析的文件和目录。有关可选配置文件,请参阅 当前项目示例
- 不会修改您的代码
安装
安装 typhp
有几种方法。推荐使用 phar 发行版。这样,您就不会遇到可能的依赖冲突。
Phar
从 最新 Github 发布版 直接下载
wget https://github.com/seferov/typhp/releases/download/v0.2.0/typhp.phar -O typhp chmod +x typhp
您可以使用 Phive 安装 phar 发行版
phive install seferov/typhp --global
Composer
您可以使用 composer 在全局范围内安装 typhp
。
composer global require seferov/typhp
如果您愿意,可以将它作为开发依赖项添加到您的项目中。
composer require require seferov/typhp --dev
使用
typhp analyse 路径
如果项目根目录中存在配置文件(.typhp.yml
),则可以通过 vendor/bin/typhp
运行。
示例输出
待办事项
-
分析闭包
-
根据 PHP 版本进行检查。例如,不要抑制 >= PHP 7.2 的
@param object
-
更好的配置
-
通过配置检查
declare(strict_types=1)
-
Phar 文件
-
自动部署 Phar 文件到发布资源,并添加自更新命令
-
Github Actions
问题
由于这是一个测试版发布,可能会有一些问题。如果您发现一个问题,请在此提交 here