canvural / larastan-strict-rules
为 Laravel 定制的 PHPStan 非常严格和具有个人观点的规则。
Requires
- php: ^8.0
- larastan/larastan: ^2.7
- phpstan/phpstan: ^1.9
Requires (Dev)
- doctrine/coding-standard: ^12
- orchestra/testbench: ^7.26.2
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9.6
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-14 05:26:54 UTC
README
为 Laravel 定制的 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)。有关更多信息,请参阅 许可文件