canvural/larastan-strict-rules

为 Laravel 定制的 PHPStan 非常严格和具有个人观点的规则。

安装次数: 560,744

依赖: 2

建议者: 0

安全: 0

星级: 71

关注者: 3

分支: 4

开放问题: 5

类型:phpstan-extension

2.1.10 2023-12-07 08:24 UTC

README

为 Laravel 定制的 PHPStan 非常严格和具有个人观点的规则。

Tests codecov PHPStan

安装

您可以通过 composer 安装此包

composer require --dev canvural/larastan-strict-rules

要启用所有规则,请将 rules.neon 包含在您的项目 PHPStan 配置中

includes:
    - vendor/canvural/larastan-strict-rules/rules.neon

逐个启用规则

如果您不想一次性开始使用所有可用的严格规则,而只想使用一个或两个,您也可以!只需不要将此包中的整个 rules.neon 包包含到您的配置中,而是查看其内容,并仅将您想要的服务器配置下的规则复制到 services 键中。例如

services:
    -
        class: Vural\LarastanStrictRules\Rules\NoDynamicWhereRule
        tags:
            - phpstan.rules.rule
    -
        class: Vural\LarastanStrictRules\Rules\NoFacadeRule
        tags:
            - phpstan.rules.rule

规则

NoDynamicWhereRule

此规则禁止在 Eloquent 查询构建器上使用动态 where 方法。

NoFacadeRule

此规则禁止使用 Laravel Facades。同时,检查实时 Facade 使用情况。

NoGlobalLaravelFunctionRule

此规则禁止使用 Laravel 伴随的全局辅助函数。

如果您想允许一些函数,您可以使用此规则的 allowedFunctions 参数。如下所示

-
    class: Vural\LarastanStrictRules\Rules\NoGlobalLaravelFunctionRule
    arguments:
        allowedFunctions:
            - app
            - event

NoValidationInControllerRule

此规则禁止在控制器中验证请求。

ScopeShouldReturnQueryBuilderRule

此规则确保从 Eloquent 本地查询作用域返回 Illuminate\Database\Eloquent\Builder 实例。

NoLocalQueryScopeRule

此规则完全禁止使用本地模型查询作用域。

NoPropertyAccessorRule

此规则禁止使用模型属性访问器。

ListenerShouldHaveVoidReturnTypeRule

此规则确保您的事件监听器具有 void 返回类型。

如果您从事件监听器返回 false,Laravel 将停止将事件传播到其他监听器。有时这很有用。但有时这可能会引起需要花费数小时调试的错误。因此,这个具有个人观点的规则确保您的事件监听器始终具有 void 返回类型。

您需要通过将事件监听器所在的目录添加到 listenerPaths 参数来配置此规则

-
    class: Vural\LarastanStrictRules\Rules\ListenerShouldHaveVoidReturnTypeRule
    arguments:
        listenerPaths:
            - app/Listeners
            - app/DomainA/Listeners

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

鸣谢

人物

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件