Yii: Het mechanisme van de sessie
Normaal gesproken in PHP om de gegevens in verband met de sessie op te slaan, gebruik maken van de global $ _SESSION array. Gebleken is echter dat voor de Yii kader van de zitting enigszins anders gebruikt.
Classic het toekennen van een waarde aan deze reeks zal niets doen, want het zal worden overschreven door Yii zijn inhoud. De makers van deze framework'a aangenomen, terecht, dat het beste alternatief, wordt het opgeslagen in een database sessie.
Installatie
Te beginnen werken met de sessie, moet u een data-opslag mechanisme dat wordt gebruikt door Yii gebruiken, dan van het configuratie bestand, als een element, voeg de volgende code:
sessie '=> array ( 'Klasse' => 'CDbHttpSession' 'ConnectionID' => 'DB', 'SessionTableName' => 'dbsession' )
Klaar! Onderdeel wordt het raamwerk alleen de noodzakelijke tafel 'dbsession' in de database door de fusie, de ID opgegeven in de configuratie.
Hoe te gebruiken?
Sindsdien is het bestuur van de sessie is verkrijgbaar door te bellen Yii :: app () -> sessie. Omdat het is zowel als een setter en getter, op elk element kan worden verwezen door de sleutel: Yii :: app () -> sessie ['key'], en toewijzen van alle waarde: Yii :: app () -> zitting ['key '] = "waarde".
Gerelateerde items
3 comment / s
"Want het is verkrijgbaar als zowel een setter en getter, op elk element kan worden verwezen met de sleutel: Yii :: app () -> sessie ['key'], en toewijzen van alle waarde: Yii :: app () -> sessie [' key '] =' waarde '. "
Wat is de setter en getter?
Dit is een eenvoudige 'functie' php'a.
@ Crackcomm
In het geval dat het een eigen variabele, de methode van de "magische" set __ / __ krijgen, geschopt per ongeluk over dit feit. Standaard op php'cu> 5.x, worden ze toegepast voor het pand, maar niets weerhoudt hen overschrijven en verander gewoon het "gedrag".
In sommige talen, normaal gesproken worden ze niet uitgevoerd, vandaar mijn aandacht aan.



















































Mooie oplossing, maar ik heb gehoord dat veel bedrijven zo doen dat hacker00000je Yii, en maakt gebruik van een sessie net als zij - bijvoorbeeld, is zo'n groot bedrijf in Bielsko, maar ik kan niet geven haar naam, want ik zou worden vernietigd Jolaos!