Fredag ​​31 december, 2010

Yii: Mekanismen af ​​sessionen

Normalt i PHP til at gemme data i forbindelse med sessionen, bruge den globale $ _SESSION array. Dog fremgår det, at for Yii rammer, sessionen bruger en lidt anden måde.

Klassisk tildele en værdi til denne række vil ikke gøre noget, fordi det vil blive overskrevet af Yii dets indhold. Skaberne af denne framework'a vedtaget, med rette, at det bedste alternativ, vil det blive gemt i en database session.

Installation

Til at begynde arbejdet med sessionen, skal du bruge alle data lagring mekanisme, der anvendes af Yii, så den vigtigste konfigurationsfilen, som et element, skal du tilføje følgende kode:

  session '=> array (
             'Gruppe' => 'CDbHttpSession'
             'ConnectionID' => 'db',
             'SessionTableName' => 'dbsession'
         )

Færdig! Framwork alene at skabe den nødvendige bordet 'dbsession' i databasen ved fusionen, ID angivet i konfigurationen.

Hvordan bruger jeg?

Siden da, er bestyrelsen af samlingen til rådighed ved at ringe Yii :: app () -> session. Fordi det fås både som en setter og getter, at ethvert element kan refereres af nøglen: Yii :: app () -> session ['key'], og overdrage værdi: Yii :: app () -> session ['nøgle '] = "værdi".


Relaterede poster

Kategorier: php / vejledninger
Du kan følge alle svar til dette indlæg via foderet RSS 2,0 . Du kan også skrive dine egne kommentarer , eller at linke til dette indlæg på din side.

3 kommentar / s

December 31, 2010
Joan Pierdzioszek

Nice-løsning, men jeg har hørt, at mange virksomheder gør, så hacker00000je Yii, og bruger en session ligesom dem - for eksempel, er sådan et stort firma i Bielsko, men jeg kan ikke give sit navn, fordi jeg ville blive ødelagt Jolaos!


2 januar, 2011
crackcomm

"Fordi det er tilgængeligt som både en setter og getter, at ethvert element kan refereres af nøglen: Yii :: app () -> session ['key'], og overdrage værdi: Yii :: app () -> session [' key '] =' værdi '. "

Hvad er setter og getter?
Dette er en simpel »funktion« php'a.


2 januar, 2011
David Pośliński

@ Crackcomm
I tilfælde af at det var en privat variabel, metoden for "magisk" sæt __ / __ bliver, smidt ud ved en fejl om dette faktum. Standard på php'cu> 5.x, er de implementeret for ejendommen, men intet til hinder for at overskrive dem og bare ændre "adfærd".

I nogle sprog, de normalt ikke er implementeret, og derfor min opmærksomhed på det.


  • Obraz CAPTCHY
    Opdater billede
    *

    Spam Beskyttelse af WP-SpamFree