MVP Architektura

Framework nabízí návrhový model v podobě MVP. Při přípravě dat a jejich výpisu můžete použit tři základní stavební prvky a to Model, Config a Presenter. V rámci frameworku je logika souborů rozdělena následovně:

  • Model – Model slouží pro přípravu dat. Model data stahuje z DB, připravuje do potřebných struktur a pomocí připravených funkcí je vrací. Velmi často využívá definované data z Configu.
  • Config – zde jsou definované formuláře, různé statické prvky, názvy tabulek nebo sloupců (v případě využití vlastní tabulkové struktury) a řada potřebných constant.
  • Presenter – Když už se Model a Config postarají o přípravu dat, presenter je bude všechny vracet a zobrazovat na frontendu vašeho webového projektu.

Jak je celá logika myšlena?

  1. Config udržuje některá nastavení, konstanty a formuláře v podobě zapsaného kódu.
  2. Model spolupracuje s configem a připravuje / stahuje data z DB a připravuje je do potřebné struktury.
  3. Presenter vyžaduje data z modelu, obaluje je HTML kódem, formátuje, vypisuje kolekce a výsledek vrací do layoutu.

Proč MVP používat?

Proč byste měli tento způsob architektury dat vůbec používat? K čemu jsou defakto tři PHP „objekty“ ke zobrazení jedné stránky?

  1. Velmi dobře a přehledně oddělíte potřebnou logiku přípravy dat od samotného layoutu. Vaše layouty budou tak přehledné a po stránce kódů velmi čisté.
  2. Modely jsou navrženy tak, aby maximálně spořily četnost SQL dotazů pro vrácení dat.
  3. Veškerá data spojená s jednou „entitou“ budou mít připravenou jasnou strukturu a nebudete muset některé věci opakovaně zapisovat.

Model

Objekt připravuje data, která většinou připravuje pro presenter, který data následně vypisuje. Model by měl být vytvořen tak, aby neprováděl žádnou logiku – například, zda se některá data mají nebo nemají zobrazit. Měl by mít ale připravenou funkci, která vrátí, zda si uživatel vypsání dat u dané entity nastavil nebo ne. Tuto informaci byste si měli následně vyžádat v presenteru a data zobrazit. Model by neměl obsahovat žádné HTML, neměl by nic echovat. To je práce presenteru.

Ukázkový příklad modelu:

Seznam obecných modelů

Config

Objekt, který není potřeba inicializovat. Je to sada statických funkcí a konstant, které udržují nějaký stav bez možnosti zásahu uživatele do nějakého nastavení. Je to soubor, do kterého se odkazujete často na různě definované klíče nebo formuláře, které lze v rámci frameworku velmi jednoduše definovat.

Ukázkový příklad configu:

Presenter

Pokud už máme model, který nám data připravuje, máme také config, který udržuje „nastavení“ modelu, můžeme již připravit presenter. Ten se bude starat o přípravu a výpis dat do samotného layoutu. Bude z modelu stahovat data, může připravovat některou část HTML kódu a bude data formátovat dle potřeby.

Ukázkový příklad presenteru



Odebírejte novinky z FW

Sledujte nás!

Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.Zjistit víceOK, rozumím