Создание веб-приложения symfony
Пакеты и зависимости
Установка на разные платформы: здесь
Symphony включает в себя:
Ctype - модуль php для проверки символов или строки
Iconv - преобразование кодировок строки
JSON
PCRE - синтаксис регулярных выражений в стиле Perl
Session - модуль для работы с сессиями
SimpleXML - преобразует xml в объект
Лексер (Tokenizer) - предоставляет интерфейс в Zend Engine PHP-лексер, позволяет писать собственные функции для анализа и модификации исходного кода
Для установки пакетов используется Compozer - пакетный менеджер уровня приложений для php, предоставляет средства для управления зависимостями
#Установка зависимостей
apk add php83-iconv php83-ctype php83-xml php83-session php83-tokenizer php83-simplexml php83-dom composer
#Установка 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
Проверка требований
Двоичный файл 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
Дополнительные расширения
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/packages/ содержит конфигурацию установленных пакетов
bundles.php вкл/выкл пакеты в приложении
src - содержит весь php код
templates - шаблоны twig
bin - bin/console - исполняемые файлы
var - Здесь хранятся автоматически создаваемые файлы, такие как файлы кэша (var/cache/) и журналы (var/log/).
vendor - сторонние библиотеки скачанные с помощью composer. Они загружаются через менеджер пакетов Composer.
корневой каталог вашего проекта: здесь вы размещаете все общедоступные файлы.






