Я обнаружил, что имею дело с одной и той же проблемой в нескольких пакетах, которые я написал.
Проблема в том, что в моем классе BundleNameBundle
я должен создать путь для загрузки сопоставлений Doctrine.
Для этого я делаю что-то вроде:
/** * {@inheritdoc} */ public function build(ContainerBuilder $container) { parent::build($container); $modelDir = realpath(__DIR__ . '/Resources/config/doctrine/mappings'); $mappings = [ $modelDir => 'SerendipityHQ\Bundle\QueuesBundle\Model', ]; $ormCompilerClass = DoctrineOrmMappingsPass::class; if (class_exists($ormCompilerClass)) { $container->addCompilerPass( $this->getYamlMappingDriver($mappings) ); } $container->addCompilerPass(new DaemonDependenciesPass()); }
Полный код здесь .
Как вы можете видеть, я использую __DIR__
для получения пути к папке, в которой отображаются сопоставления.
Теперь Sensio Insights предупреждает меня, что « Абсолютные константы пути DIR и FILE не должны использоваться ».
Хорошо, но как я могу решить эту проблему? Есть ли альтернативный способ построения пути к сопоставлениям?
Вы можете использовать $this->path
. Он возвращает тот же результат, что и __DIR__