wonsik/larastan

Larastan - 不运行代码即可发现其中的错误。Laravel 的 phpstan/phpstan 包装器

维护者

详细信息

github.com/jws1837/stan

源代码

问题

安装: 1

依赖关系: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

公开问题: 0

类型:phpstan-extension

dev-main 2024-02-21 07:56 UTC

This package is auto-updated.

Last update: 2024-09-21 09:06:35 UTC


README

Larastan Logo

Larastan Example

Build Status Total Downloads Latest Version License

⚗️ 关于 Larastan

Larastan 由 Can VuralNuno Maduro 创建,由 @Caneco 设计艺术作品,由 Can VuralNuno MaduroViktor Szépe 维护,是一个 Laravel 的 PHPStan 包装器。Larastan 专注于 在代码中发现错误。即使在编写测试之前,它也能捕获整个类别的错误。

  • 将静态类型添加到 Laravel 中,以提高开发人员生产力和 代码质量
  • 支持 Laravel 的大部分 美丽魔法
  • 发现代码中的错误

虽然按照定义,“静态分析”不会加载您应用程序的任何代码。Larastan 启动应用程序的容器,因此它可以解析仅在运行时才能计算的类型。这就是为什么我们使用“代码分析”而不是“静态分析”的原因。

✨ 3 步入门

要求

1:首先,您可以使用 Composer 将 Larastan 作为开发依赖项安装到您的 Laravel 项目中

composer require nunomaduro/larastan:^1.0 --dev

使用 Larastan 分析 Laravel 包?您可能需要安装 orchestra/testbench

2:然后,在应用程序根目录中创建一个 phpstan.neonphpstan.neon.dist 文件。它可能看起来像这样

includes:
    - ./vendor/nunomaduro/larastan/extension.neon

parameters:

    paths:
        - app

    # The level 9 is the highest level
    level: 5

    ignoreErrors:
        - '#Unsafe usage of new static#'

    excludePaths:
        - ./*/*/FileToBeExcluded.php

    checkMissingIterableValueType: false

有关所有可用选项,请参阅 PHPStan 文档: https://phpstan.org/config-reference

3:最后,您可以使用 phpstan 控制台命令开始分析您的代码

./vendor/bin/phpstan analyse

如果您遇到错误 Allowed memory size exhausted,则可以使用 --memory-limit 选项解决问题

./vendor/bin/phpstan analyse --memory-limit=2G

忽略错误

可以通过 PHP 注释或配置文件来忽略特定错误

// @phpstan-ignore-next-line
$test->badMethod();

$test->badMethod(); // @phpstan-ignore-line

在 PHPStan 的配置文件中忽略错误时,它们会被基于错误消息的正则表达式忽略

parameters:
    ignoreErrors:
        - '#Call to an undefined method .*badMethod\(\)#'

基线文件

在旧的代码库中,可能很难花费时间修复所有代码以通过高 PHPStan 级别。

为了解决这个问题,可以生成基线文件。基线文件将创建一个包含所有当前错误的配置文件,因此新代码可以遵循比旧代码更高的标准。(PHPStan 文档

./vendor/bin/phpstan analyse --generate-baseline

规则

可以在此处找到特定于 Laravel 的可配置规则列表:这里

自定义 PHPDoc 类型

可以在此处找到特定于 Larastan 的 PHPDoc 类型列表:这里

自定义 PHPStan 配置参数

您可以在PHPStan配置文件中使用以下自定义配置参数的列表,请在此处查看:这里

忽略的错误

目前Laravel的一些部分对于Larastan/PHPStan来说理解起来过于神秘。我们列出了常见的忽略的错误,根据需要添加它们。

👊🏻 贡献

感谢您考虑为Larastan做出贡献。所有贡献指南均在此处提及:这里

您可以在变更日志中查看持续更新和关于更改的详细信息。您也可以关注Twitter账户以获取最新公告,或者只是打个招呼:@enunomaduro@can__vural

❤️ 支持开发

你喜欢这个项目吗?通过捐赠来支持它

📖 许可证

Larastan是一个开源软件,许可协议为MIT许可证