php-standard-library / phpstan-extension
PHPStan PSL 扩展
1.1.0
2024-09-04 19:33 UTC
Requires
- php: ^7.4 || ^8.0
- phpstan/phpstan: ^1.12
Requires (Dev)
- azjezz/psl: ^1.6||^2.0||^3.0
- composer/semver: ^3.3
- nikic/php-parser: ^4.14.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/phpstan-phpunit: ^1.4.0
- phpstan/phpstan-strict-rules: ^1.6.0
- phpunit/phpunit: ^9.6
Conflicts
- azjezz/psl: <1.6||>=4.0
This package is auto-updated.
Last update: 2024-09-04 19:35:23 UTC
README
描述
此扩展的主要目标是帮助 PHPStan 在使用 Psl\Type\shape
后检测类型。
以下是一个示例
use Psl\Type; $specification = Type\shape([ 'name' => Type\string(), 'age' => Type\int(), 'location' => Type\optional(Type\shape([ 'city' => Type\string(), 'state' => Type\string(), 'country' => Type\string(), ])) ]); $input = $specification->coerce($_GET['user']);
PHPStan 假设 $input
是类型 array<"age"|"location"|"name", array<"city"|"country"|"state", string>|int|string>
。
如果我们启用此扩展,您将获得更具体和正确的类型 array{name: string, age: int, location?: array{city: string, state: string, country: string}}
。
除了强制转换,此扩展还支持 matches()
和 assert()
方法。
安装
要使用此扩展,请在 Composer 中要求它
composer require --dev php-standard-library/phpstan-extension
如果您还安装了 phpstan/extension-installer,那么您就准备好了!
手动安装
如果您不想使用 phpstan/extension-installer
,请将 extension.neon 包含在项目 PHPStan 配置中
includes:
- vendor/php-standard-library/phpstan-extension/extension.neon