Konvence aplikace
Architektonické konvence
- bez ORM,
- přímé SQL v repository vrstvě,
- middleware jako funkce,
- controllery jako tenká HTTP vrstva,
- JSON response s klíčem
data nebo error.
Struktura aplikace
app/bootstrap.php vstupní bod
app/routes/ route definice
app/Controllers/ HTTP vrstva
app/Repositories/ SQL vrstva
app/Middlewares/ middleware funkce
app/migrations/ databázový model
core/ sdílené technické utility
Praktické zásady
- když se mění doménový model, nejdřív se upravují migrace nebo nová migrace,
- když se mění API kontrakt, musí to být zřetelné v controlleru i v dokumentaci,
- pokud je pravidlo kritické pro konzistenci dat, má být pokud možno hlídané databází,
- fallbacky lokalizací mají být explicitní a zdokumentované, ne skryté.