Diskuze: OOP knihovna/model
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


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.