Runtime на базе PSR
HTTP messages, middleware, factories, logging, интеграция HTTP-клиента и DI container соблюдают PSR-контракты там, где это имеет смысл.
Модульная основа для PHP 8.1+ с PSR HTTP, PSR logging, PSR-11 совместимым container, routing, views, слоем базы данных, sessions, валидацией, uploads и CLI-командами.
$kernel->handle();
HTTP messages, middleware, factories, logging, интеграция HTTP-клиента и DI container соблюдают PSR-контракты там, где это имеет смысл.
Web requests и CLI-команды используют одну конфигурацию, provider model и container с отдельными entrypoint’ами Kernel и CliKernel.
Routing, views, база данных, sessions, валидация, uploads, security, events, queues и документация организованы как явные framework components.
Обзор основных встроенных частей, которые служат базой для web-приложений, CMS-проектов, административных интерфейсов и интеграционных систем.
ApplicationContext, kernels, runtime lifecycle, загрузка конфигурации и оркестрация service providers.
$kernel->handle();
CLI entrypoint, lifecycle CliKernel, command registry, exit codes и cron pattern с lock.
vendor/bin/lemonade list
Resolving текущей locale, загрузка переводов, fallback strategy и применение языка во время runtime.
$title = $helpers->lang('home.hero.title');
Service lifetimes, bindings, aliases, dependency resolution и практические patterns регистрации сервисов.
$container->singleton(MyService::class, MyService::class);
Стратегия регистрации сервисов в DI. Provider-specific registrations и практические примеры разделены на подстраницы.
$container->get(Lemonade\Framework\Routing\UrlGenerator::class);
HTTP request/response runtime, middleware pipeline, dispatch handlers и error rendering flow.
(new KernelFactory())->create($context)->handle();
Приложение имеет API-слой фреймворка с health endpoint, спецификацией OpenAPI и простой HTML-документацией.
GET /api/framework/health
Middleware contracts, порядок processing, вмешательство в request/response flow и правила композиции.
$framework->middleware(fn (MiddlewareStack $stack) => $stack->add(App\Http\Middleware\AuthMiddleware::class));
Поведение HTML response minification middleware, safety guards и точки интеграции.
$pipeline->pipe(HtmlMinifyMiddleware::class);
Router с explicit routes и convention routes, named URL generation, route groups и middleware stack.
$router->getNamed('home', '/', 'HomeController@index');
Wiring view engine, shared variables, component integration и rendering workflow.
$html = $this->view()->render('home.index', ['title' => 'Homepage']);
Переиспользуемые presentation blocks, регистрируемые через service providers и доступные через ComponentRegistry.
$components = $container->get(ComponentRegistry::class);
Общая database infrastructure, provider boundaries, schema API и базовое практическое использование.
use Lemonade\Framework\Database\Database;
$db = $container->get(Database::class);
$rows = $db->select('SELECT * FROM users WHERE active = ?', [1]);
Session lifecycle, flash messages, handler bindings и интеграция в request flow.
$session->set('user_id', 42);
Security primitives, CSRF protection, безопасные границы request processing и заметки по аутентификации.
<?= $helpers->csrfField() ?>
Обзор FormValidation, schema usage и отдельные страницы с подробным описанием validation rules.
$result = $validator->field('email')->required()->email()->validate($payload);
Debug-компонент с dumper service, захватом context и выбором CLI/HTML renderer.
dump($payload);
Интеграция robots.txt и sitemap.xml для технической обнаруживаемости сайта.
$router->get("/sitemap.xml", ...);
Filesystem service, storage path helpers, file operations и безопасные записи во время runtime.
$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);
Upload service flow, file validation boundaries, storage strategies и примеры обработки файлов.
$image = $this->upload()->uploadImage('avatar', 'avatar');
Benchmarking, request logging, tracing hooks и точки интеграции для операционной диагностики.
$logger->info('Import started');
Helper utilities, общие support abstractions и рекомендуемые usage patterns в приложении.
$url = $helpers->url('documentation.show', ['path' => 'core']);