gacela-project/phpstan-extension

适用于使用 Gacela 的项目的 PHPStan 规则

资助包维护!
chemaclass.com/sponsor

安装: 370

依赖项: 3

建议者: 1

安全: 0

星星: 4

关注者: 3

分支: 0

开放问题: 4

类型:phpstan-extension

0.4.0 2024-08-11 17:35 UTC

This package is auto-updated.

Last update: 2024-09-11 17:51:12 UTC


README

这是一个为 Gacela 框架编写的 PHPStan 扩展。它强制执行模块边界。

有关更多信息,请参阅 主 Gacela 项目

安装

composer require --dev gacela-project/phpstan-extension

配置

要配置此 PHPStan 扩展,您需要以下两个东西。

基础模块命名空间

假设您所有的模块都在同一个命名空间下。假设您的模块命名空间为

  • App\Modules\ModuleA
  • App\Modules\ModuleB

您的模块基础命名空间是 App\Modules

排除的命名空间(可选)

如果您有包含可以被任何模块使用的代码的命名空间(例如 App\Shared),则需要将它们添加到 excludedNamespaces 中。默认:[]

更新 PHPStan 配置

更新您项目的 phpstan.neon 文件

includes:
  - vendor/gacela-project/phpstan-extension/extension.neon

parameters:
    gacela:
        modulesNamespace: <base module namespace>
        excludedNamespaces:
            - excluded
            - namespaces

示例

无 excludedNamespaces 的示例

includes:
  - vendor/gacela-project/phpstan-extension/extension.neon

parameters:
    gacela:
        modulesNamespace: App\Modules

完整示例

includes:
  - vendor/gacela-project/phpstan-extension/extension.neon

parameters:
    gacela:
        modulesNamespace: App\Modules
        excludedNamespaces: 
            - App\Shared

用法

像往常一样运行 PHPStan。它将额外指出任何违反模块边界的违规行为。