symfony -- Создать свой бандл (create Bundle) -- Каркас
Primary tabs
В Symfony есть возможность создать собственный бандл, чтобы реализовать какой-то необходимый вам функционал. Бандл можно использовать для нужд конкретного приложения, так и в качестве подключаемой зависимости.
Создать бандл на Symfony очень просто: можно использовать командную строку.
- Для начала создадим директорию, в которой будет находиться бандл. В папке src создайте папку с именем вашей организации (в соответствии с лучшими практиками symfony), а в ней папку с названием бандла. У меня так:
src/IFF/ChatBundle
- Далее редактируем composer.json. Добавьте в секцию autoload->psr-4 путь для автозагрузки класса бандла:
"autoload": { "psr-4": { "AppBundle\\": "src/AppBundle", "ChatBundle\\": "src/IFF/ChatBundle" }, "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] },
и запускаем в консоли
composer update
Здесь, если вы уже забежали вперёд, может появиться ошибка ClassNotFoundException.
- Далее запускаем в консоли команду, которая в интерактивном режиме создаёт каркас для нового бандла:
php bin/console generate:bundle
Она задаст вам несколько вопросов, внимательно читайте их и вписывайте ответы.
- После этого регистрируем бандл в AppKernel.php:
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... // register your bundle // new IFF\ChatBundle\IFFChatBundle(), ); return $bundles; }
Каркас готов, теперь вы можете заполнить его необходимым функционалом!
Если вы создаёте универсальный бандл, который можно будет использовать в других приложениях, вам необходимо создать composer.json в папке src\IFF\ChatBundle
Версия пакета
О том, как и когда следует обновлять версию вашего пакета, можно прочитать в следующей статье.
Источник
- Официальная документация Symfony
- Также при создании собственного бандла, особенно, если вы хотели бы использовать его и вне вашего конкретного приложения, прочитайте Лучшие практики Symfony
- Log in to post comments
- 4463 reads