Yii: Mekanismen for sesjonen
Normalt i PHP til å lagre data knyttet til økten, bruker den globale $ _SESSION array. Det synes imidlertid at for Yii rammeverk, bruker økten en litt annerledes måte.
Classic tilordne en verdi til denne matrisen vil ikke gjøre noe, fordi det vil være overskrevet av Yii innholdet. Skaperne av denne framework'a vedtatt, ganske riktig, at det beste alternativet, vil det bli lagret i en database sesjon.
Installasjon
For å begynne å arbeide med økten, bør du bruke noen datalagring mekanisme brukes av Yii, så det viktigste konfigurasjonsfilen, som et element, legger du til følgende kode:
sesjon '=> array ( 'Class' => 'CDbHttpSession' 'ConnectionID' => 'db', 'SessionTableName' => 'dbsession' )
Ferdig! Framwork alene skape nødvendig tabellen 'dbsession "i databasen ved fusjonen, ID spesifisert i konfigurasjonen.
Hvordan bruker jeg?
Siden da, er styret av økten tilgjengelig ved å ringe Yii :: app () -> økt. Fordi det er tilgjengelig både som setter og getter, til noe element kan refereres av nøkkelen: Yii :: app () -> session ['key'], og tildele noen verdi: Yii :: app () -> session ['tasten '] = "verdi".
Relaterte oppføringer
3 kommentar / s
"Fordi det er tilgjengelig både som setter og getter, til noe element kan refereres av nøkkelen: Yii :: app () -> session ['key'], og tildele noen verdi: Yii :: app () -> session [' nøkkel '] =' verdi '. "
Hva er den fuglehunden og getter?
Dette er en enkel 'funksjon' php'a.
@ Crackcomm
I det tilfelle at det var en privat variabel, metoden for "magi" sett __ / __ bli, sparket ut ved en feil om dette faktum. Standard på php'cu> 5.x, de er implementert for eiendommen, men ingenting hindrer å overskrive dem og bare endre "oppførsel".
I noen språk, normalt de ikke er implementert, derav min oppmerksomhet til det.



















































Nice løsning, men jeg har hørt at mange bedrifter gjør slik at hacker00000je Yii, og bruker en sesjon akkurat som dem - for eksempel, er et så stort selskap i Bielsko, men jeg kan ikke gi henne navn fordi jeg ville bli ødelagt Jolaos!