phpstan抱怨使用Flex项目在Symfony 3.4中进行Doctrine Migrations

Rad*_*u C 4 symfony doctrine-migrations phpstan symfony-flex

我有一个基于Symfony 3.4和Flex的项目,我已经添加了phpstan进行静态分析.

它抱怨没有找到我的迁移课程:

Class DoctrineMigrations\Version20180831185050 was not found while trying to analyse it - autoloading is probably not configured properly.

实际上,Doctrine Migrations生成的文件不适合自动加载器模式,但工作正常.

有什么办法可以阻止抱怨吗?

Vad*_*man 7

您可以从分析中排除文件

phpstan.neon在项目目录中创建配置文件并插入:

parameters:
    excludes_analyse:
        - %currentWorkingDirectory%/src/DoctrineMigrations/*
Run Code Online (Sandbox Code Playgroud)

src/DoctrineMigrations目录中的每个文件都将从分析中排除.

  • 最好包含`autoload_directories`而不是排除它,例如@ondřej-mirtes答案 (2认同)

Ond*_*tes 6

您可以将包含迁移的目录添加到Composer自动加载器,或者最好将其添加到autoload_directoriesphpstan.neon

parameters:
    autoload_directories:
        - %rootDir%/../../../src/Migrations
Run Code Online (Sandbox Code Playgroud)

请查看PHPStan的自述文件中的“ 自动加载”部分,以获取更多详细信息。