Да, это правда, что Doctrine удаляется из пространства имен Symfony (см. здесь ).
Так что, если вы используете стандартный дистрибутив Symfony, вы скачиваете с сайта (без использования git), и вы хотите, чтобы FixturesBundle
был установлен вручную, вам необходимо скачать библиотеку doctrine-fixtures из здесь , распаковать zip в
YourProject/vendor/doctrine-fixtures
ЗагрузитьFixturesBundle
из здесь и извлеките его в
YourProject/vendor/bundles/Doctrine/Bundle/FixturesBundle
Затем вам нужно зарегистрировать пространство имен библиотеки, сделайте это, добавив
'Doctrine\\\\Common\\\\DataFixtures' => \__DIR\__.'/../vendor/doctrine-fixtures/lib',
в свой autoload.php
.
Кроме того, вам придется зарегистрировать пространство имен Doctrine, потому что некоторая часть вашего приложения будет использовать DoctrineBundle
, поставляемый из пространства имен Symfony, но новая загруженная FixturesBundle
будетиспользуя новое пространство имен Doctrine, чтобы заставить его работать, в вашей autoload.php
добавьте следующую строку (если вы делаете это до пространства имен Doctrine, помните, что более конкретные правила идут первыми!)
'Doctrine\\\\Bundle' => \__DIR\__.'/../vendor/bundles',
Итак, все, что вам нужно сделать сейчас, это зарегистрировать новый пакет в вашей AppKernel.php
записи
new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),