Symfony2 Standard Edition поставляется вместе с демо-бандлом AcmeDemoBundle. Это класный шаблон для ознакомления с symfony, но вы скорее всего в конечном счете захотите удалить его.

[su_spoiler open=”yes” icon=”” class=”my-spoiler tip” title=””]

На примере удаления AcmeDemoBundle можно удалиьт любой другой бандл.

[/su_spoiler]

1. Удаляем регистрацию бандла из AppKernel

Чтобы убрать бандл из фрэймфорка, вы должны удалить его из метода AppKernel::registerBundles(). Обычно бандля перечислены в массиве $bundles, но AcmeDemoBundle зарегистрирован в dev окружении и вы найдете его чуть ниже:

 2. Удаление конфигурации бандла

Теперь когда Symfony не знает о бандле, вы должны удалить кофигурацию и маршруты из папки app/config

2.1 Удаление маршрутов бандла

Маршруты AcmeDemoBundle вы можете найти в app/config/routing_dev.yml. Удалите запись _acme_demo внизу файла.

2.2 Удаление конфигурации бандла

Некоторые бандлы содержат кофигурацию в одном из app/config/config*.yml файлах. Убедитесь что удалили все конфигурации ссылающиеся на этот бандл. Вы можете быстро определить место конфигурации если будете искать acme_demo ( или fos_user для FOSUserBundle ) в файлах.

У AcmeDemoBundle нет конфигурации. Однако, бандл использует конфигурации в app/config/security.yml. Вы можете использовать его как шаблон для своих security, также вы можете удалить полностью: это не имеет значения для Symfony удалите вы или нет.

3. Удаление бандла из файловой системы

Сейчас вы удалили все ссылки на бандл в вашем приложении, теперь вы можете удалить бандл из файловой системы. Бандл лежит в папке src/Acme/DemoBundle. Вы можете удалить эту папку или всю директорию Acme.

[su_spoiler open=”yes” icon=”” class=”my-spoiler tip” title=””]

Если вы не знаете, где находится бандл, вы можете воспользоваться методом getPath() чтобы найти путь:

[/su_spoiler]

4. Удаление интеграций с другими бандлами

[su_spoiler open=”yes” icon=”” class=”my-spoiler note” title=””]

AcmeDemoBundle не связан ни с каким другим бандлом, поэтому вы можете пропустить эту часть

[/su_spoiler]

Некоторые бандлы могут полагаться на другие, и если вы удалити их, то другие перестанут работать (“прости меня учительница русского языка”). Будьте уверены что никакой бандл не ссылается на бандл, который вы собираетесь удалить

[su_spoiler open=”yes” icon=”” class=”my-spoiler tip” title=””]

Если один бандл ссылается на другой, то скорее всего он использует сервисы. Поиск строкового представления имени бандла позволит вам найти места где он используется ( acme_demo для нахождения зависимосте от AcmeDemoBundle ).

[/su_spoiler]

[su_spoiler open=”yes” icon=”” class=”my-spoiler tip” title=””]

Если сторонии бандлы ссылаются на другие бандлы, то их упоминание вы можете найти в composer.json

[/su_spoiler]