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

Быстрый старт для разработки PHP-плагинов


Требования

  • PHP >= 8.2.
  • Composer.
  • Docker & Docker Compose.
  • Git.

1. Клонирование примера плагина

git clone https://github.com/yclients/example-plugin-frontend.git
cd example-plugin-frontend

2. Установка зависимостей

composer install

3. Запуск окружения

В проекте есть Makefile, который автоматически создает .env, собирает образы и поднимает контейнеры:

make up

Он выполнит:

  • Генерацию файла .env с корректными SYSTEM_UID и SYSTEM_GID.
  • Сборку Docker-образов.
  • Запуск контейнеров (PHP, MySQL, RoadRunner и др.).

4. Попадание в контейнер PHP

make php

Вы окажетесь в shell контейнера в директории /service.

5. Применение миграций

bin/console doctrine:migrations:migrate

Это создаст тестовую таблицу post и заполнит ее одной записью.

6. Проверка работы

Откройте в браузере или сделайте curl:

GET http://localhost:8080/post/1

Ожидаемый ответ 200:

{
  "id": 1,
  "title": "Моя тестовая сущность",
  "description": "Описание тестовой сущности"
}

Обзор Makefile-команд

Команда

Описание

make env

Перегенерация .env

make build

Сборка образов (make env → docker compose build)

make up

Запуск / рестарт контейнеров

make down

Остановка и удаление контейнеров

make php

Shell в PHP-контейнер

make mysql

Shell в MySQL-контейнер

make logs

Логи PHP-контейнера

make vendor

Копирование vendor/ и composer.lock из контейнера


Ключевые зависимости в composer.json

Пакет

Назначение

symfony/framework-bundle

Основной фреймворк Symfony

baldinof/roadrunner-bundle

Сервер RoadRunner для PHP

doctrine/doctrine-bundle

Интеграция Doctrine ORM

doctrine/doctrine-migrations-bundle

Миграции базы данных

yclients-sdk/sdk-plugin-bundle

YCLIENTS Plugin SDK

phpstan/phpdoc-parser, phpstan

Статический анализ кода

ecs, phpmd, rector

Автофикс и проверка стиля кода


Использование SDK Plugin Bundle для разработки плагинов

Для создания плагинов вы можете использовать готовый набор инструментов — SDK Plugin Bundle. Bundle предоставляет удобную инфраструктуру и упрощенный вызов функций, что значительно ускоряет процесс разработки.

SDK Plugin Bundle включает в себя:

  • Готовые адаптеры для работы с базой данных, кэшем и логированием.
  • Контракты и интерфейсы, обеспечивающие единый стиль разработки.
  • Интеграцию с Symfony и другими компонентами фреймворка.

Подробнее о возможностях SDK Plugin Bundle и его функциях читайте по ссылке.


Стартовый гайд Symfony

Для быстрого погружения в создание первого контроллера и страницы в чистом Symfony обратитесь к официальному документу: https://symfony.com/doc/current/page_creation.html

Здесь вы узнаете:

  • Как установить и настроить проект Symfony.
  • Как сгенерировать контроллер с помощью MakerBundle (make:controller).
  • Основы аннотаций маршрутов (#[Route]).
  • Создание и рендеринг Twig-шаблона.
  • Работу с объектами Request/Response.

Дополнительные полезные разделы документации:

Для более глубокого погружения изучайте оставшуюся часть официальной документации: https://symfony.com/doc/current/index.html созданию REST-эндпоинтов в вашем плагине, используя знакомый вам DatabaseContract и возвращать JSON вместо HTML.


Дальнейшие шаги

  • Пишите юнит- и интеграционные тесты (vendor/bin/phpunit).
  • Запускайте статическую проверку и автофикс («make phpstan», «make ecs:check», «make ecs:fix», «make phpstan», «make phpmd»).
Предыдущая статья Создание Backend плагина
Следующая статья Структура проекта плагина Docker