Diskuze: MCV a rovnaká url, ale iné zobrazenie pre užívateľa, admina, ...
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 22 zpráv z 22.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
to mi nikto nevie pomôcť? alebo som snáď zadal zle otázku? :/
A jak chceš u nepřihlášených uživatelů řešit jejich oprávnění???
To je přece postavené na hlavu. Když nebudu přihlášen, jsem tedy anonym a
žádný program mi nemůže nabídnout jiná oprávnění než jinému
anonymovi, protože nás nezná...
Musí být nějaká databáze uživatelů, databáze rolí a uživatelé musí
být přiřazování do rolí. Podle toho pak různým uživatelům můžeš
zobrazit to, co mají vidět, resp. co má vidět ta role...
Databázu mi tu riešiť netreba.
Zoberiem si ako príklad devbook:
A: anonym - môže prezerať články a komentáre
B: člen - môže to isté čo anonym + pridávať komentáre, hodnotiť
články, 1++, posielať správy
C: moderátor - môže to isté čo člen + zamykať forum, mazat
komentáre,
atď...
A ja chcem vedieť, ako to v OOP PHP vyriešiť. Či to mám riešiť v každej triede znovu a znovu, alebo pre každého užívateľa vlastnú triedu, alebo ako? Aby riešenie bolo čo najprehľadnejšie, najelegantnejšie a najľahšie na úpravu.
Koukni na nějaký finální projekt, kde se řeší přihlášený/ nepřihlášený - tam snad najdeš odpověď.
V podstatě si uděláš kompletní view a u jednotlivých věcí se ptáš, jestli se mají vyrenderovat nebo ne.
Samozřejmě, že to nemusí být rovnou v databázi, ale bez přihlášení
to nelze...
i na Devbook se musíš přihlásit, abys mohl požívat výhody "člena"...
ja by to rád kontroloval na jednom mieste a hlavne aby mi nevznikal chaos
nejaký tip na ten projekt z
ktorého by som mohol odkukať? pokial nikto nevie lepšie riešenie, tak si na
začiatku skontrolujem aký užívateľ chce zobraziť stránku a podľa toho mu
pošlem napr.: AnonymKategorieKontroler alebo
AdministratorKategorieKontroler, a aby som si ich udržal s rovnakými
metodami tak budu dediť od nejakého spoločného abstraktného
UzivatelKontroleru (to bol príklad)
Michal Štěpánek : ee uchádza ti zmysel toho čo chcem
Já bych si napsal kontrolery pro každý případ - jak jsi psal teď.
Zbytečně moc redundantní.
http://stackoverflow.com/a/11668462
z wikipedie, trochu offtopic k slovu "redundantní":
V programování = kód, který je na více místech a v podstatě se neliší. Ani tvoje HTML se lišit nebude, jen někdo tam bude mít navíc tlačítko a někdo zase ne, takže ti stačí jeden view a budeš ho tam dávat na základě toho pro koho se ten view generuje.
Pokud tam bude mít administrátor nějaké ovládací prvky a výpisy z db
navíc, tak je zbytečné je volat i pro nepřihlášeného a pak je nevypsat,
ne ?
Oni se volat nebudou, copak když máš konstrukci
if(true)
write(smth);
else
write(smth2);
tak se taky nevolají obadva, ale jen ten jeden, tak sámo to funguje i tam. Akorát tam máš teda jednu alternativu navíc.
to mám teda všade v každej triede ifovať? lenže ja budem mať 5 rôznych oprávnení a takto mi to moc nevyhovuje :/
Podle vašeho bys to dělal 5x celé, takhle tam akorát uděláš pár
podmínek
Se kdyžtak poptej někde, kde se na ASP zaměřují.
php chlape! ešte je to
k tomu v php sekcii fóra
Fuu, to jsem si nevšiml
tak to neber nic co jsem napsal neplatí
omlouvám se
Já bych to asi řešil následovně
-> To je podlě mě nejjednodušší cesta
if($this->user->credentials == "Admin")
<a href="adminsekce" />
else
....
Kdyby šlo jen o odkaz tak proč ne, ale kdyby třeba admin měl navíc po straně panel s výpisem nejnovějších komentů na schválení (příklad), tak bych to takhle nedělal(zbytečné dotazy na db a plácání výkonem). Jak bys to udělal v tomhle případě?
No tak hlavně předpokládám, že když jsem na výpisu článku nebudu tam adminovi cpát ještě nejnovější komentáře. To by měl už v ADMIN sekci.
Když to shrnu na komentáře tka těch podmínek moc nebude. Adminovi
zobrazíš pár tlačítek navíc. Ostatní složitější administrace bude
někde v Admin sekci. Tipuju že devbook to má stejně
Zobrazeno 22 zpráv z 22.