Lemonade Framework

PHP-фреймворк на базе стандартов PSR для web и CLI runtime.

Модульная основа для PHP 8.1+ с PSR HTTP, PSR logging, PSR-11 совместимым container, routing, views, слоем базы данных, sessions, валидацией, uploads и CLI-командами.

Runtime на базе PSRОбщий bootstrap для web и CLIКомпонентная основа
bootstrap/app.php
$kernel->handle();
Runtime flow
RequestKernelProvidersRouterControllerResponse
Product showcase

What ships with Lemonade

Core capabilities

Built for PHP applications that need structure, not noise

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.

Components

Компоненты фреймворка

Обзор основных встроенных частей, которые служат базой для web-приложений, CMS-проектов, административных интерфейсов и интеграционных систем.

Core

Application Core

ApplicationContext, kernels, runtime lifecycle, загрузка конфигурации и оркестрация service providers.

component.php
$kernel->handle();
Документация
Core

CLI Runtime

CLI entrypoint, lifecycle CliKernel, command registry, exit codes и cron pattern с lock.

component.php
vendor/bin/lemonade list
Документация
Core

Localization

Resolving текущей locale, загрузка переводов, fallback strategy и применение языка во время runtime.

component.php
$title = $helpers->lang('home.hero.title');
Документация
Core

Dependency Injection Container

Service lifetimes, bindings, aliases, dependency resolution и практические patterns регистрации сервисов.

component.php
$container->singleton(MyService::class, MyService::class);
Документация
Core

Registered Services

Стратегия регистрации сервисов в DI. Provider-specific registrations и практические примеры разделены на подстраницы.

component.php
$container->get(Lemonade\Framework\Routing\UrlGenerator::class);
Документация
HTTP

HTTP Layer

HTTP request/response runtime, middleware pipeline, dispatch handlers и error rendering flow.

component.php
(new KernelFactory())->create($context)->handle();
Документация
HTTP

API фреймворка

Приложение имеет API-слой фреймворка с health endpoint, спецификацией OpenAPI и простой HTML-документацией.

component.php
GET /api/framework/health
Документация
HTTP

Middleware

Middleware contracts, порядок processing, вмешательство в request/response flow и правила композиции.

component.php
$framework->middleware(fn (MiddlewareStack $stack) => $stack->add(App\Http\Middleware\AuthMiddleware::class));
Документация
Optimization

HTML Minification

Поведение HTML response minification middleware, safety guards и точки интеграции.

component.php
$pipeline->pipe(HtmlMinifyMiddleware::class);
Документация
HTTP

Routing

Router с explicit routes и convention routes, named URL generation, route groups и middleware stack.

component.php
$router->getNamed('home', '/', 'HomeController@index');
Документация
Presentation

View Rendering

Wiring view engine, shared variables, component integration и rendering workflow.

component.php
$html = $this->view()->render('home.index', ['title' => 'Homepage']);
Документация
Presentation

UI Components

Переиспользуемые presentation blocks, регистрируемые через service providers и доступные через ComponentRegistry.

component.php
$components = $container->get(ComponentRegistry::class);
Документация
Persistence

Database Layer

Общая database infrastructure, provider boundaries, schema API и базовое практическое использование.

component.php
use Lemonade\Framework\Database\Database;

$db = $container->get(Database::class);
$rows = $db->select('SELECT * FROM users WHERE active = ?', [1]);
Документация
State

Session

Session lifecycle, flash messages, handler bindings и интеграция в request flow.

component.php
$session->set('user_id', 42);
Документация
Security

Security

Security primitives, CSRF protection, безопасные границы request processing и заметки по аутентификации.

component.php
<?= $helpers->csrfField() ?>
Документация
Input

Validation

Обзор FormValidation, schema usage и отдельные страницы с подробным описанием validation rules.

component.php
$result = $validator->field('email')->required()->email()->validate($payload);
Документация
Diagnostics

Debug

Debug-компонент с dumper service, захватом context и выбором CLI/HTML renderer.

component.php
dump($payload);
Документация
SEO

Discovery

Интеграция robots.txt и sitemap.xml для технической обнаруживаемости сайта.

component.php
$router->get("/sitemap.xml", ...);
Документация
Files

Filesystem

Filesystem service, storage path helpers, file operations и безопасные записи во время runtime.

component.php
$filesystem->write($context->resolveCachePath('example.json'), json_encode($payload, JSON_THROW_ON_ERROR));
$data = json_decode($filesystem->read($context->resolveCachePath('example.json')), true, 512, JSON_THROW_ON_ERROR);
Документация
Files

Upload

Upload service flow, file validation boundaries, storage strategies и примеры обработки файлов.

component.php
$image = $this->upload()->uploadImage('avatar', 'avatar');
Документация
Observability

Observability

Benchmarking, request logging, tracing hooks и точки интеграции для операционной диагностики.

component.php
$logger->info('Import started');
Документация
Support

Support Utilities

Helper utilities, общие support abstractions и рекомендуемые usage patterns в приложении.

component.php
$url = $helpers->url('documentation.show', ['path' => 'core']);
Документация