Введение в Symfony

Установка symfony, установка зависимостей, создание веб-приложение на базе symfony.

    Пакеты и зависимости

    Установка на разные платформы: здесь
    Symphony включает в себя:
    Ctype - модуль php для проверки символов или строки
    Iconv - преобразование кодировок строки
    JSON
    PCRE - синтаксис регулярных выражений в стиле Perl
    Session - модуль для работы с сессиями
    SimpleXML - преобразует xml в объект
    Лексер (Tokenizer) - предоставляет интерфейс в Zend Engine PHP-лексер, позволяет писать собственные функции для анализа и модификации исходного кода
    Для установки пакетов используется Compozer - пакетный менеджер уровня приложений для php, предоставляет средства для управления зависимостями

    #Установка зависимостей alpine apk add php83-iconv php83-ctype php83-xml php83-session php83-tokenizer php83-simplexml php83-dom composer #Установка зависимостей ubuntu sudo apt install php8.3-iconv php8.3-ctype php8.3-xml php8.3-tokenizer php8.3-simplexml php8.3-dom php8.3-mbstring composer

    Данные пакеты предоставляют все инструменты, необходимые для разработки и локального запуска приложения Symfony

    Дополнительные пакеты, которые могут пригодиться в процессе разработки

    sudo apt install php8.3-intl php8.3-xsl php8.3-amqp php8.3-gd php8.3-curl php8.3-redis php8.3-zip php8.3-fpm git

    С помощью команды php -m можно посмотреть включённые в данный момент модули.


    Установите docker:
    https://docs.docker.com/desktop/setup/install/linux/

    Проверка требований

    Двоичный файл symfony также предоставляет инструмент для проверки соответствия окружения всем требованиям:

    symfony check:requirements
    Создание веб-проекта
    #Создать веб-проект composer create-project symfony/skeleton /var/www/test.netbash #Если вы хотите использовать LTS-версию, добавьте параметр --version composer create-project symfony/skeleton --version=lts /var/www/test.netbash
    Symfony CLI

    Symfony CLI — это бесплатный инструмент для разработчиков с открытым исходным кодом, который помогает создавать, запускать приложения Symfony и управлять ими прямо из терминала.
    Установка Symfony CLI
    https://symfony.com/download


    Symfony CLI автоматически выбирает "самую подходящую" версию PHP из доступных на вашей локальной машине.

    При выполнении команды в терминале можно использовать префикс symfony. Например, symfony composer, а не просто composer, либо symfony console вместо ./bin/console.
    Symfony CLI автоматически создаёт некоторые переменные окружения, исходя из сервисов, запущенных на вашем компьютере с помощью Docker. Эти переменные окружения доступны для HTTP-запросов, поскольку локальный веб-сервер добавляет их автоматически. Таким образом, использование префикса symfony в CLI даст одинаковый результат на разных платформах.

    Для использования HTTPS на локальном сервере нужно ещё добавить поддержку TLS

    #Установка symfony symfony-CLI для Alpine: sudo apk add --no-cache bash curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.alpine.sh' | sudo -E bash sudo apk add symfony-cli symfony server:ca:install

    Документация: Symfony CLI
    https://symfony.com/doc/current/setup/symfony_cli.html#enabling-tls


    #запустить проект Symfony на локальном сервере cd my-project/ symfony server:start #Просмотр последних логов symfony server:log #Остановить сервер работающий в фоновом режиме symfony server:stop #Статус работы сервера symfony symfony server:status

    Если на вашем компьютере установлено несколько версий PHP, вы можете указать Symfony, какую из них использовать, создав файл с именем .php-version в корневом каталоге проекта:

    cd my-project/ echo 8.2 > .php-version #просмотреть все доступные версии PHP symfony local:php:list
    Инициализация проекта
    symfony new guestbook --version=6.4 --php=8.3 --webapp --docker --cloud

    Эта команда представляет собой обертку над Composer, которая облегчает создание проектов на Symfony. Она использует заготовку проекта, которая включает в себя минимальный набор зависимостей; компоненты Symfony, необходимые практически для любого проекта: консольная утилита и HTTP-абстракция, используемая для создания веб-приложений.


    --webapp: По умолчанию создаётся приложение с наименьшим количеством возможных зависимостей. Для большинства веб-проектов рекомендуется использовать пакет webapp. Он содержит большинство пакетов, необходимых для "современных" веб-приложений. Пакет webapp добавляет множество пакетов Symfony, включая Symfony Messenger и PostgreSQL через Doctrine.
    --docker: Эта опция включает Docker, так что Symfony будет автоматически добавлять сервисы Docker на основе необходимых пакетов
    --cloud: Если вы хотите развернуть проект на Platform.sh, эта опция автоматически сгенерирует готовую конфигурацию Platform.sh. Platform.sh — это предпочтительный и самый простой способ развертывания тестовых, временных и продакшен-окружений Symfony в облаке.
    Основной точкой входа рецептов Symfony является файл манифеста, в котором описаны операции, которые необходимо выполнить, чтобы автоматически зарегистрировать пакет в Symfony-приложении

    Источник: https://symfony.com/doc/6.4/the-fast-track/ru/3-zero.html#inicializacia-proekta

    Дополнительные расширения

    composer require webapp — это команда для добавления зависимости в проект с использованием Composer, которая устанавливает набор пакетов, необходимых для создания традиционного веб-приложения

    cd project composer require webapp

    Команда composer require logger используется для установки библиотеки для логирования в PHP-проекте. Она позволяет добавить зависимость, которая будет использоваться для записи сообщений в лог-файлы или другие системы логирования.

    cd my-project/ composer require logger

    Symfony Flex — это инструмент, который упрощает и улучшает работу разработчиков при создании приложений на основе фреймворка Symfony. Он выступает в роли менеджера пакетов и конфигураций, значительно упрощая процесс добавления, управления и настройки бандлов и зависимостей
    Symfony Flex изменяет поведение команд Composer require, update, b remove, чтобы предоставить продвинутые функции

    composer require symfony/flex

    Чтобы добавить в приложение функции отладки, можно запустить команду composer require --dev debug . Это установит symfony/debug-pack, который, в свою очередь, установит несколько пакетов, таких как symfony/debug-bundle, symfony/monolog-bundle, symfony/var-dumper, и т. д.

    composer require --dev debug

    Панель инструментов веб-отладки symfony/profiler-pack

    composer require symfony/profiler-pack

    В Symfony есть Twig: минималистичный, мощный и довольно интересный язык шаблонов

    #Установка composer require twig
    Полезные функции
    #Проверка уязвимостей symfony check:security #Или composer audit #Запуск локального веб-сервера symfony server:start
    Консоль

    Для выполнения bin/console, необходимо перейти в корень каталога проекта

    #Показать все доступные фичи php bin/console list #Показать информацию об установленном приложении php bin/console about #Покажет все маршруты php bin/console debug:router #Покажет какой маршрут соответствует url php bin/console router:match /home/about #Покажет доступные опции конфигурации доп. инфа здесь: https://symfony.ru/doc/current/reference/index.html php bin/console config:dump-reference #Все параметры существующие в приложении php bin/console debug:container --parameters #Проверка шаблонов php bin/console lint:twig #Перечисляет всю доступную информацию о Twig (функции, фильтры, глобальные переменные и т.д. php bin/console debug:twig
    Структура каталогов

    config - конфигурация, маршруты, сервисы, пакеты. Директория config/ состоит из набора готовых конфигурационных файлов. По одному файлу на каждый пакет.
    config/packages/ содержит конфигурацию установленных пакетов
    bundles.php вкл/выкл пакеты в приложении src - содержит весь php код
    templates - шаблоны twig
    bin - bin/console - исполняемые файлы
    var - Здесь хранятся автоматически создаваемые файлы, такие как файлы кэша (var/cache/) и журналы (var/log/).
    vendor - сторонние библиотеки скачанные с помощью composer. Они загружаются через менеджер пакетов Composer.
    корневой каталог вашего проекта: здесь вы размещаете все общедоступные файлы.


    Источники
    Последнее изменение: 11.05.2026 09:10


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ