Diskuze: OOP knihovna/model

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj,
mohl bys mi, prosím, tvůj dotaz upřesnit? Nepochopil jsem, co je ve tvé
aplikaci model a co knihovna.
Předpokládám, že by Uzivatel.trida.php měl být model, protože dle názvu
vypadá, že se třída stará o data uživatele.
"a např. vytvoření/změnu/smazání emailu/hesla/... mám v modelu"
Podle této věty mi přijde, že máš jednu třídu (např. Model.trida.php),
která se stará o všechna data v aplikaci. Pak mi ale nedochází, co přesně
má na starost ta třída Uzivatel.
V MVC pokud vím neřešíš knihovny. Máš Model (uchovávání, editace dat), Controller (řízení aplikace) a View (zobrazení aplikace) + možné nějaké ty externí knihovny, které ale už ve vzoru neřešíš a voláš je do aplikace externě.
Ahoj, myslím to tak, že mám např. vytvořenou knihovnu Uživatel. V ní mám privátní vlastnosti, které se naplní konstruktorem (údaji z databáze) a ty v celé aplikaci získám skrz gettery (getEmail např.). Nyní ale např. potřebuji vytvořit změnu hesla, takže mám vytvořený řadič Změnahesla. V něm mám nyní ale kombinace typu $this->uzivatel->jePrihlasen() a popř. $this->model->nastavHeslo(). A to se mi nelíbí, že mám knhovnu a model extra. Je lepší nacpat vše do té knihovny uživatel nebo ji zcela eliminovat? Výhoda knihovny je v tom, že na začátku si vytvořím instanci objektu Uživatel. Nebavím se jen o této jediné knihovně, mám jich více.
Mě jde o to, co je po stránce OOP správně, protože funguje obojí Omlopuvám se za můj složitý
vysvětlovací pokus ale plavu v tom jak ryba ve vodě
Pamatuji si své začátky v OOP, takže v pohodě.
Ta třída Model se stará o všechna data v aplikaci?
Osobně bych např. změnu hesla dal do třídy Uzivatel, protože to je akce
uživatele.
Třída Model je taková "podle nálady", něco je v knihovnách a něco v
modelech. Modelů je více, jsou zděděné od abstraktní hlavní třídy Model
- např. v uživatel.model.php mám nyní obsluhu na změnu hesla.
Jak říkám, mám to tak zprasený, že nevím jak z toho "správně" vybruslit
ale asi to opravdu
Podle toho co tu čtu myslím, že ty tvé knihovny budou zřejmě Modely.
Myslím, že hledáš něco,
co jsem ve svém frameworku pojmenoval Donor. Tedy vlastně něco modelem a
controllerem - zpracovávající informaci, tak aby byla použitelná v celé
aplikaci. I Nette má svojí obdobu, když se ti nechce zdlouhavě psát
duplikáty kódu.
Ty asi myslíš v Nette DI. Já mám registr, do kterého vytvářím na
začátku různé instance (databáze, nastavení, uživatel, logování apod).
A když už mám např. extra knihovnu uživatel, tak si myslím, že by tam
mělo být vše - metody od validace, změny hesla, .... Ale nevím jestli je to
tak OK, chci to mít správně
A co je vlastně ta tvá knihovna? Třída? Soubor tříd?
Zobrazeno 11 zpráv z 11.