Yii: sesijos mechanizmas
Paprastai PHP laikyti duomenis, susijusius su sesijos, naudoti pasaulinę $ _SESSION masyvas. Tačiau atrodo, kad Yii sistemos sesija naudoja kiek kitokį kelią.
Klasikinės suteikiant vertę šio masyvo, nebus nieko daryti, nes ji bus perrašyti Yii jo turinį. Šio framework'a kūrėjai priėmė gana teisingai, kad geriausia alternatyva, jis bus saugomas duomenų bazės sesijos.
Montavimas
Norėdami pradėti darbą su sesijos, turite naudoti jokių duomenų saugojimo mechanizmą, naudojamą pagal Yii, tada pagrindinis konfigūracijos failo, kaip elementą, pridėkite šį kodą:
sesija "=> array ( "Klasė '=>' CDbHttpSession" "ConnectionID '=>' db" ', "SessionTableName '=>' dbsession" )
Baigta! Framwork vien sukurti reikiamą lentelės "dbsession, duomenų bazės susijungimo, ID nurodyta konfigūracijos.
Kaip naudoti?
Nuo tada, sesijos lenta paskambinus Yii :: app) -> sesija. Kadangi ji yra prieinama tiek kaip tam seteris ir karjeristas, bet kurio elemento gali būti nuorodos raktas: Yii :: app () -> sesija ['raktas'], ir priskirti bet kokią vertę: Yii :: app () -> sesija ["raktas '] = "vertė".
Panašūs įrašai
3 komentaras / ai
"Nes yra tiek per seteris ir karjeristas, bet kurio elemento gali nuorodos raktas: Yii :: app () -> sesija [" pagrindinis "], ir priskirti jokios vertės: Yii :: app () -> sesija [" key '] = "reikšmė". "
Kas yra seteris ir Rodziciel?
Tai paprasta funkcijos "php'a,.
@ Crackcomm
Tuo atveju, kad tai buvo privatus kintamasis, "Magic" SET metodas __ / __ get, išmestas per klaidą, apie šį faktą. Standartinis php'cu> 5.x, jie įgyvendinami už turtą, tačiau niekas nedraudžia perrašyti juos ir tiesiog keisti "elgesį".
Kai kuriose kalbose, paprastai jie nėra įgyvendintas, todėl mano dėmesį į jį.



















































Nicos sprendimas, bet aš girdėjau, kad daugelis įmonių taip ir daro, kad hacker00000je Yii, ir naudoja sesiją kaip jų - pavyzdžiui, yra tokia didelė korporacija, Bielsko, bet aš negaliu duoti savo vardą, nes aš bus sunaikinta Jolaos,!