PHP je věda

Objektově orientované programování nejen v PHP

Model

Model je často spojován s pojmem datový model, případně s daty obecně. Má to své opodstatnění – zní to docela logicky. Pokud se ale bavíme o MVC, tak tento návrhový vzor model definuje jako data pro view. Jsou však všechny data z databáze určená pro view? Většinou ano, ale ne vždy. I kdyby náš view příjmal pouze data z databáze, nelze tvrdit že jakákoliv data z databáze jsou určená pro view.

Jaká data jsou tedy určená pro view? Pro view jsou určená data, která přiřadí controller do template objektu. Slovo model může mít mnoho významů, ale pokud se bavíme o klasickém MVC frameworku, zastupuje template objekt funkci modelu.

Model ve světě PHP je reprezentován tzv. Template Objektem

Template Object může být stdClass, associativní pole, nebo např. Smarty objekt. Faktem je, že pouze data, která do template Objektu vložíme se do view opravdu dostane.

Pro data z databáze definujeme jiný, také již zaběhnutý pojem – Entita. Entita zastupuje v zásadě jeden řádek z tabulky. I když v našem MVC frameworku entity používáme, nemá Entita s MVC nic společného – reps. MVC entitu nedefinuje.

Další podkaptioly:

Template objekt