Lemonade Framework

Модульный application framework для PHP 8.1+.

Явная архитектура для веб-сайтов, административных систем, CMS-проектов и интеграционных приложений. Lemonade построен на PSR runtime, DI container, providers, routing и CLI. Он добавляет инфраструктуру для баз данных, миграций, cache, локализации, validation, queues, API и безопасности.

Runtime на базе PSRОбщий bootstrap для web и CLIКомпонентная основа
bootstrap/app.php
$router->getNamed('home.index', '/', HomeController::class . '@index');
Поток выполнения
ЗапросKernelПровайдерыRouterКонтроллерОтвет
Обзор фреймворка

Что включает Lemonade

Основные возможности

Для PHP-приложений, которым нужна структура без лишней сложности

Runtime на базе PSR

HTTP messages, middleware, factories, logging, интеграция HTTP-клиента и DI container соблюдают PSR-контракты там, где это имеет смысл.

Общий bootstrap для web и CLI

Web requests и CLI-команды используют одну конфигурацию, provider model и container с отдельными entrypoint’ами Kernel и CliKernel.

Компонентная основа

Routing, views, база данных, sessions, валидация, uploads, security, events, queues и документация организованы как явные framework components.

Документация

Изучите Lemonade

Выберите область, над которой вы работаете, и сразу перейдите к соответствующему руководству или технической справке.

Руководство

Начало работы

От конфигурации и первого маршрута до рабочей страницы.

Документация
Руководство

Контроллеры и ответы

Что предоставляет `AbstractController` и когда имеет смысл добавить общий слой приложения.

Документация
Руководство

Routing

Именованные маршруты, параметры и локализация только там, где они действительно нужны стратегии URL.

Документация
Руководство

Middleware

Используйте middleware для общих HTTP-задач, подключайте его к маршрутам или группам и не помещайте туда бизнес-логику.

Документация
Руководство

Views и layouts

Как связаны layout, page view, общие данные и partials.

Документация
Руководство

Сервисы и провайдеры

Регистрация сервисов, binding интерфейсов и явная композиция приложения.

Документация
Руководство

Конфигурация и окружение

YAML-манифест, типизированные определения конфигурации, значения окружения и production config cache.

Документация
Руководство

Production и deployment

Подготовьте значения окружения, позвольте Lemonade использовать production config cache и разворачивайте только те артефакты, которые реально нужны runtime.

Документация
Руководство

Формы и POST-поток

Обычный путь от GET-формы через POST, CSRF и валидацию к redirect и следующему GET.

Документация
Руководство

Валидация

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

Документация
Руководство

База данных

Использование `Database`, QueryBuilder и транзакций.

Документация
Руководство

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

Храните изменения схемы базы данных в понятном порядке и фиксируйте их с помощью встроенной системы миграций.

Документация
Руководство

API

Endpoint через API-провайдеры, понятный JSON-контракт и правила доступа в `Api.yaml`.

Документация
Руководство

CLI

Команды, регистрация в YAML и передача долгой работы в очередь.

Документация
Руководство

Инфраструктура

Cache, session, upload, filesystem и HTTP-клиент без привязки приложения к internals фреймворка.

Документация
Руководство

Ошибки и отладка

Страницы ошибок, kernel-тесты и диагностика через логи и QA-команды.

Документация
Руководство

События и очередь

События внутри одного процесса, сообщения в очереди и CLI workers.

Документация
Руководство

Discovery

Включайте `robots.txt` и `sitemap.xml` только когда они действительно нужны приложению.

Документация
Руководство

Компоненты

Registry компонентов для metadata, breadcrumbs, pagination и собственных компонентов.

Документация
Справка

Справочник

Более низкоуровневые заметки о жизненном цикле приложения и container.

Документация