PHPStan don';我看不到合适的ObjectManager的条令
我尝试用PHPStan改进代码。 我已经安装了:PHPStan don';我看不到合适的ObjectManager的条令,php,symfony,doctrine-orm,doctrine,phpstan,Php,Symfony,Doctrine Orm,Doctrine,Phpstan,我尝试用PHPStan改进代码。 我已经安装了: 这是我的phpstan.neon: includes: - vendor/phpstan/phpstan/conf/config.levelmax.neon - vendor/phpstan/phpstan-symfony/extension.neon - vendor/phpstan/phpstan-doctrine/extension.neon - vendor/phpstan/phpstan-doctrine/r
includes:
- vendor/phpstan/phpstan/conf/config.levelmax.neon
- vendor/phpstan/phpstan-symfony/extension.neon
- vendor/phpstan/phpstan-doctrine/extension.neon
- vendor/phpstan/phpstan-doctrine/rules.neon
- vendor/phpstan/phpstan-phpunit/extension.neon
- vendor/phpstan/phpstan-phpunit/rules.neon
parameters:
paths:
- %currentWorkingDirectory%/src
- %currentWorkingDirectory%/tests
symfony:
container_xml_path: '%currentWorkingDirectory%/var/cache/dev/srcApp_KernelDevDebugContainer.xml'
autoload_directories:
- %currentWorkingDirectory%/tests
我还测试了调用下一个函数:
$kernel = static::bootKernel();
$doctrine = $kernel->getContainer()->get('doctrine');
$doctrine->getManager()->getConfiguration();
$doctrine->getManager()->getEventManager();
PHPStan抱怨说:
Call to an undefined method Doctrine\Common\Persistence\ObjectManager::getConfiguration().
Call to an undefined method Doctrine\Common\Persistence\ObjectManager::getEventManager().
我研究了$doctrine->getManager()
我有doctrine\ORM\EntityManagerInterface
扩展doctrine\Common\Persistence\ObjectManager
,但PHPStan认为我有doctrine\Common\Persistence\ObjectManager
如何告诉PHPStan,$doctrine->getManager()
是doctrine\ORM\EntityManagerInterface
?您可以:
/**@var\Doctrine\ORM\entitymanager接口*/
$doctrine=$kernel->getContainer()->get('doctrine');
$doctrine=$kernel->getContainer()->get('doctrine');
self::assertInstanceOf(EntityManagerInterface::class$原则);
您可以:
/**@var\Doctrine\ORM\entitymanager接口*/
$doctrine=$kernel->getContainer()->get('doctrine');
$doctrine=$kernel->getContainer()->get('doctrine');
self::assertInstanceOf(EntityManagerInterface::class$原则);