Микросимфония?
О ?
Microsymfony - это скелет приложения Symfony 7.2 на стероидах, готовый к использованию.
Я сделал долгий пост в блоге, объясняющий философию и как ее использовать:
- Представление шаблона применения микросимфони
Одно правило: единственная обязательная зависимость - PHP !
PS : Если вы хотите использовать последнюю версию Symfony 6.4 LTS в своем файле composer.json , замените все входы 7.2 на 6.4 и запустите composer up .
Оглавление
- Демо
- Быстрое начало
- Требования
- Дополнительные требования
- Куча
- Функции
- Особенности филиалов
- Инфраструктура
- База данных
- Инструмент
- Примечания
- Symfony UX
- Файлы конфигурации PHP
- Другие хорошие практики
- Ссылки
- Внося
- Безопасность
- Кредиты
- Лицензия
- Построен с микросимфонией
Демо?
Потому что живая демонстрация всегда лучше, чем все объяснения:
- Живая демонстрация на https://microsymfony.ovh
- Живая демонстрация Frankenphp по адресу https://frankenphp.microsymfony.ovh
Быстрое начало ⚡
С бинарным симфонином?
У вас должен быть установлен бинарный и композитор Symfony.
Чтобы создать новый проект из последнего тега, запустите:
composer create-project strangebuzz/microsymfony && cd microsymfony
Затем запустите сервер PHP с Make:
Или с кастором:
Откройте https://127.0.0.1:8000 (учитывая, что ваш порт 8000 бесплатный) и наслаждайтесь! ?
PS : Вы также можете использовать зеленую кнопку «Использовать этот шаблон ⇩» в правом верхнем углу домашней страницы проекта GitHub. Это создает новый репозиторий из основной ветви вместо последнего выпуска. Я гарантирую, что все коммиты по основному стабильному; Вы можете убедиться, что связанные задачи CI являются ✅.
С Frankenphp?
Мы также можем использовать Frankenphp для запуска микросимфонии. Вы должны установить Docker на месте.
Создайте новый проект из шаблона GitHub, запустите:
docker run --rm -it -v $PWD:/app composer:latest create-project strangebuzz/microsymfony && cd microsymfony
Установите время выполнения Frankenphp Symfony:
docker run --rm -it -v $PWD:/app composer:latest require runtime/frankenphp-symfony
Затем беги:
docker run
-e FRANKENPHP_CONFIG="worker ./public/index.php"
-e APP_RUNTIME=Runtime\FrankenPhpSymfony\Runtime
-v $PWD:/app
-p 80:80 -p 443:443
-d
dunglas/frankenphp
Откройте https: // localhost и наслаждайтесь! ?
PS : В Windows замените $PWD на "%cd%" .
Вы также можете напрямую использовать филиал Frankenphp.
Требования ⚙
- PHP 8.2 (также работает с PHP 8.3 и PHP 8.4)
- Symfony Cli
Дополнительные требования?
- Расширение PHP XDEBUG, если вы хотите запустить отчет о покрытии кода
- Castor Task Runner, если вы не хотите использовать Make и его makefile
Куча ?
- PHP от 8,2 до 8,4
- Symfony 7.2
- Веток 3.8
- Горячий стимул 3.2 и Turbo 8.0
- Phpunit 11.5
- Pico CSS 2.0
Функции
Микросимфонические поставки эти функции, готовые к использованию:
- Два бегуна задачи
- Сделать (источник) (демонстрация)
- Кастор (источник) (демонстрация)
- Статический анализ с Phpstan 2
- Стандарты кодирования с PHP-CS-фиксером
- Тесты (демонстрация)
- Пример модульного испытания
- Интеграционный тест пример
- Пример функционального теста
- Пример теста API
- E2E испытательный пример
- Покрытие кода на 100% (настраиваемый порог)
- Отчет о покрытии проверки
- GitHub CI (действия)
- Тестирует выход работы
- Вывод работы
- Вывод работы безопасности
- Asset Mapper+стимул (документация)
- Vanilla JS (источник) (демонстрация)
- Получить конечную точку приложения (источник) (демо) (Демо)
- Пользовательский шаблон ошибки
Особенности филиалов?
Особенности филиалов не объединяются в основной ветви, но используются для проверки интеграции новой библиотеки поставщиков или создания POC. Например, вы когда -нибудь мечтали о тестировании красноречивого, Laravel Orm, на проекте Symfony? Затем клонируйте eloquent ветвь и запустите composer install && make load-fixtures .
Инфраструктура
- Frankenphp (PR, филиал, переименован в 2024-11-17)
- Symfony-Docker (PR, филиал, переименован в 2024-11-17)
База данных?
Эти «база данных» филиалы направлены на отображение списка записей из базы данных SQLite.
- Доктрина DBAL (PR, филиал, переименован в 2024-12-22)
- Красноречивая ORM (PR, филиал, переименован в 2024-11-17)
Инструмент?
- TaskFile (PR, филиал, переименован в 2024-11-17)
- Twigstan (PR, филиал, переименован в 2024-11-17)
- TWIG-CS-Фиксер (PR, филиал, переименован в 2024-11-21)
Один будет регулярно пересматривать эти ветви, чтобы они всегда были в курсе.
Примечания ?
Symfony-ux
Турбо формы отключены в Assets/App.js. Чтобы включить функцию для данной формы, добавьте к ней атрибут data-turbo="true" . Или измените параметр Turbo.setFormMode на on , чтобы активировать функцию по всему миру. В обоих случаях ваш код контроллера должен быть изменен соответственно.
Файлы конфигурации PHP
Если вы установите новую библиотеку Symfony, рецепты Flex могут добавить файлы YAML в ваш проект. Эти файлы YAML загружаются, но вы можете преобразовать их в PHP, как и другие файлы конфигурации. Например, чтобы преобразовать конфигурацию messenger YAML в PHP с упрощением, запустите:
vendor/bin/config-transformer convert config/packages/messenger.yaml
Другие хорошие практики?
- Использование файлов конфигурации PHP вместо YAML (Source)
- Использование строгих типов во всех файлах PHP (источник)
- Использование шаблона ADR в контроллере действия (источник) (DOC)
- Файл composer.json нормализован с помощью Ergebnis/composer-Normalize
- Использование плагина Composer Bin для установки и запуска PHP-CS-Fixer
Ссылки
- Как переключиться с конфигураций YAML на PHP сегодня сочувствовать (tomasvotruba.com)
- PHPSTAN 2.0 выпустил с уровнем 10 и слонами! (phpstan.org)
- Лучший шаблон ADR для ваших контроллеров Symfony (StrangeBuzz.com)
- Моя конфигурация задач для Symfony (jmsche.fr)
- Вы должны использовать края Phpstans Bleeding (Backendtea.com)
- Хорошее соглашение об именах для маршрутов, контроллеров и шаблонов? (jolicode.com)
- Разработка приложений фронтального приложения, СИМФОНИЧЕСКИЙ Стиль (ы) (dunglas.dev)
- Автоматизированные проверки покрытия тестирования с Travis, Phpunit для запросов на вытягивание GitHub (ocramius.github.io)
- Установка и использование php-cs-fixer (undranbuzz.com)
- Кастор, путешествие по морю бегунов задач (jolicode.com)
- Инициализация вашего проекта Symfony с помощью солидных фундаментов (StrangeBuzz.com)
- Организация ваших тестов на проекты Symfony (StrangeBuzz.com)
- Каковы ваши лучшие практики Symfony? (StrangeBuzz.com)
- Установка рабочего процесса CI/CD для проекта Symfony благодаря действиям GitHub (StrangeBuzz.com)
- Лучшие практики Symfony Framework (Symfony.com)
Внести свой вклад?
Пожалуйста, смотрите Appling и Code_of_conduct для получения подробной информации.
Безопасность ?
Пожалуйста, смотрите безопасность для деталей.
Кредиты
- Катушка (первичный сопровождающий)
- Все участники
Лицензия ⚖
Лицензия MIT (MIT). Пожалуйста, смотрите файл лицензии для получения дополнительной информации.
Построен с микросимфонией
- Placehold.ovh (2024-12-01)
- Appartement-rourcoing.com (2024-11-30)
- Демонстрация Edyadmin Mercure (2023-05-24)