php-standard-library/phpstan-extension

PHPStan PSL 扩展

安装次数: 391,380

依赖关系: 10

建议者: 1

安全性: 0

星标: 14

关注者: 4

分支: 4

公开问题: 13

类型:phpstan-extension

1.1.0 2024-09-04 19:33 UTC

README

Build Latest Stable Version License

描述

此扩展的主要目标是帮助 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