argumenty pro onLoggedIn a onLoggedOut
- Loric
- Člen | 14
V dokumentaci se píše, že se dá přidat nějaká událost po přihlášení nebo odhlášení. Mám to tedy nějak tak:
$this->user->onLoggedIn[] = array($account, "setOnline");?>
Ono to příslušnou metodu v objektu opravdu vykoná, jenže nevím, jak metodě přidat ještě nějaké argumenty… Hledal jsem, ale o této funkci se nikde nepíše.
Editoval Loric (8. 7. 2010 20:22)
- DocX
- Člen | 154
Smyslem těhle callbacků je ošetření nějaké události. K té události
se většinou váží nějaké další informace. V tomhle případě je to
událost přihlášení a váže se k ní instance User
.
Jestli chceš předávat handleru nějaké vlastní parametry navíc, nedovedu si to představit jinak, než že bys je chtěl zadal „staticky“ na místě, kde ten callback vkládáš. To znamená, že ty tvoje parametry nebudou a ani nemůžou být nějak ovlivněny tou vzniklou událostí. Potom ale přece můžeš jednoduše udělat nějakou jinou „globální statickou“ proměnou, kterou z té funkce budeš moc vidět. Třeba když tam teď máš nějaký objekt `$account˙, nad kterém se jako callback volá funkce, tak ty tvoje parametry můžeš navěsit do něj. Záleží na tom, jestli to co chceš v té funkci vidět se tam hodí dát.
Jinak taková rada do života: Nesnaž se měnit design, ale pochop ho a přizpůsob se mu.