Wprowadzenie
Dokumentacja jest stale rozwijana i aktualizowana wraz z postępem projektu. Ponieważ powstaje ona równolegle z kodem, niektóre sekcje mogą tymczasowo odnosić się do wcześniejszych wersji systemu - są one sukcesywnie dostosowywane do bieżącego stanu aplikacji. Jeśli zauważysz nieaktualne informacje, zgłoś to lub załóż Issue / Pull Request.
Dokumentacja
# Wprowadzenie
DBM Framework to modułowy monolit zaprojektowany z myślą o budowie wydajnych i łatwych w utrzymaniu aplikacji PHP. Zapewnia pełną kontrolę nad architekturą, pozwalając na tworzenie systemów o długim cyklu życia.
W przeciwieństwie do poprzednich wersji, opartych na klasycznym monolicie, wersja 5 wprowadza architekturę modułową. Pozwala ona na strukturę aplikacji złożoną z niezależnych, odizolowanych modułów, które wciąż są wdrażane jako spójny system.
Rozwiązanie to łączy prostotę i wydajność monolitu z elastycznością, skalowalnością i wyraźnym podziałem odpowiedzialności (Separation of Concerns) charakterystycznym dla systemów modułowych.
# Modułowy monolit w praktyce
W DBM Framework architektura nie jest tylko teorią, ale fundamentem struktury plików:
- Logiczny podział: Aplikacja jest podzielona na odizolowane moduły (katalog
modules/), które współdzielą jedno środowisko wykonawcze. - Granice odpowiedzialności: Podziały są definiowane przez funkcjonalność biznesową, a nie przez infrastrukturę, co eliminuje zbędną złożoność mikrousług.
- Fundament i wtyczki: Silnik (katalog
application/) zarządza logiką, podczas gdy moduły takie jak CMS Lite czy Admin są opcjonalnymi komponentami instalowanymi przez dedykowany Installer. - Pełna swoboda: Framework pozwala na budowę aplikacji w folderze
src/od zera lub korzystanie z gotowych, niezależnych modułów – bez gromadzenia długu architektonicznego.
# Kluczowa idea
DbM Framework to lekki silnik aplikacyjny, a CMS Lite jest opcjonalnym modułem zarządzania treścią.
To podejście można streścić jako:
Micro framework + opcjonalny CMS
Dla developera: pełna kontrola i wydajność
Dla klienta: prosty panel do zarządzania treścią
# Dlaczego warto wybrać DBM Framework?
- Brak "magii": Jawna konfiguracja i przewidywalny przepływ danych sprawiają, że debugowanie i rozwój są błyskawiczne.
- Zero overheadu: Ładujesz tylko te moduły, których aktualnie potrzebujesz. System pozostaje lekki niezależnie od skali.
- Architektura odporna na czas: Izolacja modułów minimalizuje ryzyko powstawania splątanego kodu (spaghetti code).
- Elastyczność wdrożeń: Możesz zacząć od prostej wizytówki i rozbudować ją do zaawansowanego systemu SaaS bez zmiany fundamentów.
# Filozofia architektury
W przeciwieństwie do frameworków takich jak Symfony czy Laravel, DBM Framework:
- nie wymusza rozbudowanych abstrakcji ani przesadnie rozbudowanych warstw
- unika zbędnej magii i ukrytych zachowań
- preferuje jawną konfigurację i przewidywalny przebieg wykonywania
- utrzymuje strukturę aplikacji blisko bazowego środowiska wykonawczego HTTP i PHP
DBM Framework został zaprojektowany dla programistów, którzy chcą zrozumieć i kontrolować cały cykl życia aplikacji, od obsługi żądań po renderowanie odpowiedzi.
# Ekosystem CMS
Framework stanowi fundament dla Platformy DBM, w tym modułu CMS Lite. To rozwiązanie dla projektów wymagających zarządzania treścią bez bezpośredniej edycji plików.
CMS Lite to szybkie, lekkie i bezpieczne rozwiązanie do tworzenia stron internetowych, gdzie pliki, szablony i routing zapewniają pełną kontrolę nad systemem.
W przypadku projektów wymagających zarządzania treścią bez bezpośredniej edycji plików, CMS Lite można rozszerzyć o CMS Lite + Admin, który dodaje:
- panel administracyjny oparty na przeglądarce
- bezpieczne uwierzytelnianie
- edycję treści bez ingerencji w kod
- zachowanie lekkiej architektury
CMS jest dostarczany jako moduł rozszerzający, co pozwala na jego instalację w istniejących projektach bez konieczności przebudowy aplikacji.
# Kiedy wybrać DBM Framework?
To rozwiązanie idealnie sprawdza się w projektach, gdzie standardowy CMS (jak WordPress) jest zbyt ciężki i mało elastyczny, a pełny framework (jak Symfony/Laravel) wymaga zbyt dużej konfiguracji na starcie.
- Aplikacje dedykowane (SaaS, systemy wewnętrzne) - gdy potrzebujesz czystej architektury i pełnej kontroli nad logiką biznesową bez narzuconej struktury CMS-a.
- Lekkie strony z panelem zarządzania - gdy budujesz szybką wizytówkę lub portal, ale klient potrzebuje edytować tylko wybrane sekcje (dzięki CMS Lite).
- Projekty o wysokiej wydajności - modułowa konstrukcja pozwala ładować tylko to, co niezbędne, co minimalizuje narzut systemowy.
- Elastyczna ścieżka rozwoju (Microservices-ready) - modułowa konstrukcja sprawia, że aplikacja jest gotowa na przyszłość. Izolacja logiki pozwala na łatwą refaktoryzację lub wydzielenie konkretnych funkcjonalności do osobnych usług w miarę wzrostu projektu.
# Podsumowanie
DBM Framework to most między prostymi skryptami a potężnymi, lecz skomplikowanymi frameworkami klasy enterprise. Wybierając to rozwiązanie, zyskujesz fundament, który nie ogranicza Twojej kreatywności, nie narzuca zbędnych zależności i pozwala aplikacji rosnąć w sposób uporządkowany. To narzędzie stworzone przez programistów dla programistów - tam, gdzie liczy się przewidywalność, szybkość i elegancja kodu.