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é.