1. YCLIENTS
  2. Маркетплейс интеграций
  3. Плагинизация
  4. Руководство по созданию Backend плагина
  5. Типовая структура плагина на Symfony

Типовая структура плагина на Symfony


Ниже показано дерево директорий типового Symfony-плагина с краткими пояснениями.

  • my_project/
    • .env – переменные окружения проекта, для локальной разработки
    • composer.json – зависимости и автозагрузка (PSR-4)
    • Dockerfile – сборка образа приложения
    • docker-compose.yml – конфигурация контейнеров
    • phpunit.xml.dist – настройка тестовой среды
    • bin/
      • console – утилита Symfony CLI
    • config/
      • bundles.php – регистрация бандлов по средам
      • services.yaml – объявление и автоконфигурация сервисов
      • packages/ – конфиги бандлов (doctrine.yaml, security.yaml и др.)
      • routes/ – файлы маршрутизации (YAML, аннотации)
    • public/
      • index.php – request-контроллер (точка входа в приложение)
      • build/ – скомпилированные CSS/JS (Webpack Encore/Vite)
      • favicon.ico, robots.txt и другие статичные файлы
    • src/
      • Kernel.php – класс ядра приложения
      • Controller/ – HTTP-контроллеры
      • Entity/ – Doctrine-сущности
      • Repository/ – репозитории для работы с БД
      • Service/ – бизнес-логика в виде сервисов
      • EventSubscriber/ – подписчики на события Symfony
    • templates/
      • base.html.twig – базовый Twig-шаблон
      • / – шаблоны модулей и фрагменты
    • translations/
      • messages.ru.yaml, validators.en.yaml и др. – файлы локализации
    • migrations/
      • VersionYYYYMMDDHHMMSS.php – Doctrine-миграции схемы БД
    • var/
      • cache/ – кэш контейнера, маршрутов, Twig
      • log/ – логи Monolog, в локальной разработке
      • sessions/ – сессии (если файловый драйвер)
    • vendor/ – зависимости, установленные Composer
    • tests/
      • Unit/ – unit тесты
      • Function/ - функциональные тесты
      • Integration - интеграционные тесты
Предыдущая статья Структура проекта плагина Docker
Следующая статья SDK Plugin Bundle