symfony -- Создать свой бандл (create Bundle) -- Каркас

В Symfony есть возможность создать собственный бандл, чтобы реализовать какой-то необходимый вам функционал. Бандл можно использовать для нужд конкретного приложения, так и в качестве подключаемой зависимости.

Создать бандл на Symfony очень просто: можно использовать командную строку.

  1. Для начала создадим директорию, в которой будет находиться бандл. В папке src создайте папку с именем вашей организации (в соответствии с лучшими практиками symfony), а в ней папку с названием бандла. У меня так:

    src/IFF/ChatBundle

  2. Далее редактируем 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.

  3. Далее запускаем в консоли команду, которая в интерактивном режиме создаёт каркас для нового бандла:
    php bin/console generate:bundle

    Она задаст вам несколько вопросов, внимательно читайте их и вписывайте ответы.

  4. После этого регистрируем бандл в AppKernel.php:
    // app/AppKernel.php
    public function registerBundles()
    {
        $bundles = array(
            // ...
            // register your bundle
           // new IFF\ChatBundle\IFFChatBundle(),
        );
        return $bundles;
    }

Каркас готов, теперь вы можете заполнить его необходимым функционалом!

Если вы создаёте универсальный бандл, который можно будет использовать в других приложениях, вам необходимо создать composer.json в папке src\IFF\ChatBundle

Версия пакета

О том, как и когда следует обновлять версию вашего пакета, можно прочитать в следующей статье.

Источник

Key Words for FKN + antitotal forum (CS VSU):