Lemonade Framework

Modularny application framework dla PHP 8.1+.

Jawna architektura dla stron internetowych, systemów administracyjnych, projektów CMS i aplikacji integracyjnych. Lemonade opiera się na runtime PSR, kontenerze DI, providerach, routingu i CLI. Dodaje infrastrukturę dla baz danych, migracji, cache, lokalizacji, walidacji, kolejek, API i bezpieczeństwa.

Runtime oparty na PSRWspólny bootstrap dla web i CLIBaza komponentowa
bootstrap/app.php
$router->getNamed('home.index', '/', HomeController::class . '@index');
Przepływ działania
ŻądanieKernelProvideryRouterKontrolerOdpowiedź
Prezentacja frameworka

Co zawiera Lemonade

Najważniejsze możliwości

Dla aplikacji PHP, które potrzebują struktury bez zbędnej złożoności

Runtime oparty na PSR

HTTP messages, middleware, factories, logging, integracja klienta HTTP i DI container respektują kontrakty PSR tam, gdzie ma to sens.

Wspólny bootstrap dla web i CLI

Requesty webowe i komendy CLI współdzielą tę samą konfigurację, model providerów i container z osobnymi entrypointami Kernel i CliKernel.

Baza komponentowa

Routing, views, baza danych, sessions, walidacja, uploady, security, events, queues i dokumentacja są zorganizowane jako jawne komponenty frameworka.

Dokumentacja

Poznaj Lemonade

Wybierz obszar, nad którym pracujesz, i przejdź od razu do odpowiedniego przewodnika lub dokumentacji technicznej.

Przewodnik

Pierwsze kroki

Od konfiguracji i pierwszej trasy do działającej strony.

Dokumentacja
Przewodnik

Controllery i odpowiedzi

Co zapewnia `AbstractController` i kiedy warto dodać wspólną warstwę aplikacji.

Dokumentacja
Przewodnik

Routing

Nazwane trasy, parametry i lokalizacja tylko tam, gdzie strategia URL naprawdę ich potrzebuje.

Dokumentacja
Przewodnik

Middleware

Używaj middleware do wspólnych reguł HTTP, przypinaj je do tras lub grup i nie przenoś do nich logiki biznesowej.

Dokumentacja
Przewodnik

Widoki i layouty

Jak współpracują layout, page view, dane współdzielone i partiale.

Dokumentacja
Przewodnik

Usługi i providery

Rejestracja usług, binding interfejsów i jawne składanie aplikacji.

Dokumentacja
Przewodnik

Konfiguracja i środowisko

Manifest YAML, typowane definicje konfiguracji, wartości środowiskowe i produkcyjny config cache.

Dokumentacja
Przewodnik

Produkcja i wdrożenie

Przygotuj wartości środowiskowe, pozwól Lemonade korzystać z produkcyjnego config cache i wdrażaj tylko artefakty rzeczywiście potrzebne przez runtime.

Dokumentacja
Przewodnik

Formularze i obsługa POST

Typowy przebieg od formularza GET przez POST, CSRF i walidację do redirectu i kolejnego GET.

Dokumentacja
Przewodnik

Walidacja

Schemat walidacji, jednorazowe sprawdzanie wejścia i powtarzalna logika w osobnej usłudze.

Dokumentacja
Przewodnik

Baza danych

Korzystanie z `Database`, QueryBuildera i transakcji.

Dokumentacja
Przewodnik

Migracje bazy danych

Utrzymuj zmiany schematu bazy danych w czytelnej, właściwej kolejności i zapisuj je za pomocą wbudowanego systemu migracji.

Dokumentacja
Przewodnik

API

Endpointy przez providery API, jasny kontrakt JSON i reguły dostępu w `Api.yaml`.

Dokumentacja
Przewodnik

CLI

Polecenia, rejestracja w YAML i przekazywanie dłuższej pracy do kolejki.

Dokumentacja
Przewodnik

Infrastruktura

Cache, sesje, uploady, filesystem i klient HTTP bez uzależniania aplikacji od wnętrza frameworka.

Dokumentacja
Przewodnik

Błędy i debugowanie

Strony błędów, testy kernela i diagnostyka za pomocą logów oraz poleceń QA.

Dokumentacja
Przewodnik

Zdarzenia i kolejka

Zdarzenia w jednym procesie, wiadomości w kolejce i workery CLI.

Dokumentacja
Przewodnik

Discovery

Włączaj `robots.txt` i `sitemap.xml` tylko wtedy, gdy aplikacja naprawdę ich potrzebuje.

Dokumentacja
Przewodnik

Komponenty

Registry komponentów dla metadanych, breadcrumbs, pagination i własnych komponentów.

Dokumentacja
Dokumentacja

Dokumentacja techniczna

Bardziej szczegółowe informacje o cyklu życia aplikacji i containerze.

Dokumentacja