К основному контенту

Symfony 6. Новый проект

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

Для работы фреймворка требуются интерпретатор PHP и веб-сервер. Наиболее оптимальный путь установки локального окружения - использовать Docker. В документации ссылаются на репозиторий dunglas/symfony-docker. В конфигурации используются образы php-fpm и веб-сервера Caddy.


Как начать проект Symfony с помощью Docker

Клонируем репозиторий с конфигурацией для Docker в текущий каталог:


    git clone https://github.com/dunglas/symfony-docker .

Собираем образы (загрузка и скачивание пакетов, необходимых для запуска приложения):


    docker-compose build --pull --no-cache

Запускаем образ: стартуют веб-сервер Caddy и интерпретатор php-fpm.


    docker-compose up -d

При первом запуске создается новый Symfony-проект и устанавливаются зависимости для него.

Начиная с версий Symfony 6.2 инструменты Flex и Cli имеют некоторую интеграцию с Docker. Устанавливая некоторые flex-сценарии, помимо composer.json также меняется Dockerfile.

При использовании консольной утилиты symfony она также может распознать, что для некоторых ресурсов (база данных, почта или очереди) используется Docker Compose, и соответствующе сконфигурирует окружение. Это поведение касается локально установленного PHP и встроенного в утилиту веб-сервера.

Комментарии

Популярные сообщения из этого блога

Методологии разработки

Обзор методологий разработки. Разбираемся, что, когда и где стОит (или не стОит) применять. Источники Ещё раз про семь основных методологий разработки | Habr

Symfony Serializer

Разбираемся с Symfony Serializer: компонент вроде не очень сложный, но использование его периодами вызывает трудности. Дополнительное чтиво Презентация с доклада Norio Suzuki "Symfony Serializer Deep Dive" на PHP Conference Japan (24/09/2022)