11Sessions
22########
33
4- CakePHP fournit des fonctionnalités de wrapper et suite of utility au-dessus
5- de l'extension native ``session `` de PHP. Les Sessions vous permettent
4+ CakePHP fournit des fonctionnalités de wrapper et un ensemble d'outils qui
5+ s'ajoutent à l'extension native ``session `` de PHP. Les Sessions vous permettent
66d'identifier les utilisateurs uniques pendant leurs requêtes et de stocker les
77données persistantes pour les utilisateurs spécifiques. Au contraire des
8- Cookies, les données de session ne sont pas disponibles du coté client.
8+ Cookies, les données de session ne sont pas disponibles du côté client.
99L'utilisation de ``$_SESSION `` est généralement à éviter dans CakePHP, et à
1010la place l'utilisation des classes de Session est préférable.
1111
@@ -55,11 +55,11 @@ niveau ``Session``, et un certain nombre d'options sont disponibles:
5555 des versions précédentes.
5656
5757CakePHP met par défaut la configuration de ``session.cookie_secure `` à true,
58- quand votre application est sur un protocole SSL. Si votre application sert
59- à partir des deux protocoles SSL et non-SSL, alors vous aurez peut-être
60- des problèmes avec les sessions étant perdues. Si vous avez besoin d'accéder
61- à la session sur les deux domaines SSL et non-SSL, vous aurez envie de
62- désactiver cela::
58+ quand votre application est sur un protocole SSL. Si votre application
59+ utilise à la fois les protocoles SSL et non-SSL, alors vous aurez peut-être
60+ des problèmes de sessions perdues. Si vous avez besoin d'accéder
61+ à la session sur les deux domaines SSL et non-SSL, vous devrez désactiver
62+ cela::
6363
6464 Configure::write('Session', array(
6565 'defaults' => 'php',
@@ -84,18 +84,18 @@ Gestionnaires de Session intégrés & configuration
8484
8585CakePHP est fourni avec plusieurs configurations de session intégrées. Vous
8686pouvez soit utiliser celles-ci comme base pour votre configuration de
87- session, soit vous pouvez créer une solution complètement personnalisée.
87+ session, soit créer une solution complètement personnalisée.
8888Pour utiliser les valeurs par défaut, définissez simplement la clé
89- 'defaults' avec le nom par défaut, vous voulez utiliser. Vous pouvez
89+ 'defaults' avec le nom par défaut que vous voulez utiliser. Vous pouvez
9090ensuite surcharger toute sous-configuration en la déclarant dans votre config
9191Session::
9292
9393 Configure::write('Session', array(
9494 'defaults' => 'php'
9595 ));
9696
97- Ce qui est au-dessus va utiliser la configuration de session intégrée dans
98- 'php'. Vous pourriez augmenter tout ou partie de celle-ci en faisant
97+ Le code précédent va utiliser la configuration de session intégrée dans
98+ 'php'. Vous pourriez la modifier complètement ou en partie en faisant
9999ce qui suit::
100100
101101 Configure::write('Session', array(
@@ -104,13 +104,13 @@ ce qui suit::
104104 'timeout' => 4320 //3 days
105105 ));
106106
107- Ce qui est au-dessus surcharge le timeout et le nom du cookie pour la
107+ Le code précédent surcharge le timeout et le nom du cookie pour la
108108configuration de session 'php'. Les configurations intégrées sont:
109109
110110* ``php `` - Sauvegarde les sessions avec les configurations standard dans
111111 votre fichier php.ini.
112112* ``cake `` - Sauvegarde les sessions en tant que fichiers à l'intérieur de
113- ``app/tmp/sessions ``. Ceci est une bonne option quand les hôtes qui ne
113+ ``app/tmp/sessions ``. Ceci est une bonne option lorsque les hôtes ne
114114 vous autorisent pas à écrire en dehors de votre propre dir home.
115115* ``database `` - Utiliser les sessions de base de données intégrées.
116116 Regardez ci-dessous pour plus d'informations.
@@ -122,7 +122,7 @@ Gestionnaires de Session
122122
123123Les gestionnaires de Session peuvent être aussi définis dans le tableau de
124124config de session. Quand ils sont définis, ils vous permettent de mapper
125- les valeurs divers ``session_save_handler `` vers une classe ou un objet
125+ les multiples valeurs ``session_save_handler `` vers une classe ou un objet
126126que vous souhaitez utiliser pour sauvegarder la session. Il y a deux façons
127127d'utiliser le 'handler'. La première est de fournir un tableau avec 5
128128callables. Ces callables sont ensuite appliqués à
@@ -146,7 +146,7 @@ callables. Ces callables sont ensuite appliqués à
146146 )
147147 ));
148148
149- Le deuxième mode est de définir une clé 'engine'. Cette clé devrait être un
149+ La deuxième façon consiste à définir une clé 'engine'. Cette clé devrait être un
150150nom de classe qui implémente ``CakeSessionHandlerInterface ``. Implémenter
151151cette interface va autoriser CakeSession à mapper automatiquement les méthodes
152152pour le gestionnaire. Les deux gestionnaires de Session du Cache du Coeur et
@@ -157,17 +157,17 @@ partir de l'intérieur de votre handler.
157157
158158Vous pouvez aussi utiliser les gestionnaires de session à partir des plugins.
159159En configurant le moteur avec quelque chose comme
160- ``MyPlugin.PluginSessionHandler ``. Cela ca charger et utiliser la classe
160+ ``MyPlugin.PluginSessionHandler ``. Cela va charger et utiliser la classe
161161``PluginSessionHandler `` à partir de l'intérieur du MyPlugin de votre
162162application.
163163
164164CakeSessionHandlerInterface
165165---------------------------
166166
167167Cette interface est utilisée pour tous les gestionnaires de session
168- personnalisés à l'intérieur de CakePHP, et peut être utilisé pour créer
169- des gestionnaires de session personnalisées user land . En implémentant
170- simplement l'interface dans votre classe et en définissant
168+ personnalisés à l'intérieur de CakePHP, et peut être utilisée pour créer
169+ des gestionnaires de session personnalisées de l'utilisateur . En
170+ implémentant simplement l'interface dans votre classe et en définissant
171171``Session.handler.engine `` au nom de classe que vous avez créé. CakePHP
172172va tenter de charger le gestionnaire à partir de l'intérieur de
173173``app/Model/Datasource/Session/$classname.php ``. Donc si votre nom de classe
@@ -180,8 +180,8 @@ Les sessions de la Base de Données
180180Les changements dans la configuration de session changent la façon dont vous
181181définissez les sessions de base de données.
182182La plupart du temps, vous aurez seulement besoin de définir
183- ``Session.handler.model `` dans votre configuration ainsi que
184- choisir la base de données par défaut::
183+ ``Session.handler.model `` dans votre configuration ainsi que de choisir la
184+ base de données par défaut::
185185
186186 Configure::write('Session', array(
187187 'defaults' => 'database',
@@ -190,14 +190,14 @@ choisir la base de données par défaut::
190190 )
191191 ));
192192
193- Ce qui est au-dessus va dire à CakeSession d'utiliser le 'database' intégré
194- par défaut, et spécifier qu'un model appelé ``CustomSession `` sera celui
195- délégué pour la sauvegarde d'information de session dans la base de données.
193+ Le code au-dessus va dire à CakeSession d'utiliser la 'base de donnée'
194+ intégrée par défaut, et spécifier qu'un model appelé ``CustomSession `` sera
195+ celui délégué pour la sauvegarde d'information de session dans la base de
196+ données.
196197
197198Si vous n'avez pas besoin d'un gestionnaire de session complètement
198199personnalisable, mais que vous avez tout de même besoin de stockage de session
199- en base de donnée-backed, vous pouvez simplifier le code du dessus par
200- celui-ci::
200+ en base de donnée, vous pouvez simplifier le code précédent comme ceci::
201201
202202 Configure::write('Session', array(
203203 'defaults' => 'database'
@@ -213,8 +213,8 @@ avec au moins ces champs::
213213 PRIMARY KEY (`id`)
214214 );
215215
216- Vous pouvez aussi utiliser le schema shell pour créer cette table en utilisant
217- le fichier de schema fourni dans le squelette app par défaut::
216+ Vous pouvez aussi utiliser le schema dans le terminal pour créer cette table
217+ en utilisant le fichier de schema fourni dans le squelette app par défaut::
218218
219219 $ Console/cake schema create sessions
220220
@@ -223,9 +223,9 @@ Les Sessions de Cache
223223
224224La classe Cache peut aussi être utilisée pour stocker les sessions. Cela vous
225225permet de stocker les sessions dans un cache comme APC, memcache, ou Xcache.
226- Il y a some caveats dans l'utilisation des sessions en cache, puisque
227- si vous avez épuisé l'espace de cache, les sessions vont commencer à expirer
228- puisque les enregistrements sont évincés .
226+ Il y a quelques précautions à prendre dans l'utilisation des sessions en
227+ cache, puisque si vous avez épuisé l'espace de cache, les sessions vont
228+ commencer à expirer tandis que les enregistrements sont supprimés .
229229
230230Pour utiliser les sessions basées sur le Cache, vous pouvez configurer votre
231231config Session comme ceci ::
@@ -248,8 +248,8 @@ Configurer les directives ini
248248
249249Celui intégré par défaut tente de fournir une base commune pour la
250250configuration de session. Vous aurez aussi besoin d'ajuster les flags ini
251- spécifiques. CakePHP donne la capacité de personnaliser les configurations
252- ini pour les deux configurations par défaut, ainsi que celles personnalisées.
251+ spécifiques. CakePHP permet de personnaliser les configurations ini pour les
252+ deux configurations par défaut, ainsi que celles personnalisées.
253253La clé ``ini `` dans les configurations de session vous permet de spécifier les
254254valeurs de configuration individuelles. Par exemple vous pouvez l'utiliser
255255pour contrôler les configurations comme ``session.gc_divisor ``::
@@ -269,8 +269,8 @@ Créer un gestionnaire de session personnalisé
269269Créer un gestionnaire de session personnalisé est simple dans CakePHP. Dans cet
270270exemple, nous allons créer un gestionnaire de session qui stocke les sessions
271271à la fois dans le Cache (apc) et la base de données. Cela nous donne le
272- meilleur du IO rapide de apc, sans avoir à se soucier des sessions s'évaporant
273- quand le cache se remplit.
272+ meilleur du IO rapide de apc, sans avoir à se soucier des sessions qui
273+ disparaissent quand le cache se remplit.
274274
275275D'abord, nous aurons besoin de créer notre classe personnalisée et de la
276276mettre dans ``app/Model/Datasource/Session/ComboSession.php ``. La classe
@@ -316,8 +316,8 @@ devrait ressembler à::
316316
317317Notre classe étend la classe intégrée ``DatabaseSession `` donc nous ne devons
318318pas dupliquer toute sa logique et son comportement. Nous entourons chaque
319- opération avec une opération :php:class: `Cache `. Cela nous laisse récupérer les
320- sessions de la mise en cache rapide, et nous évite de nous inquiéter sur ce qui
319+ opération avec une opération :php:class: `Cache `. Cela nous permet de récupérer
320+ les sessions de la mise en cache rapide, et nous évite de nous inquiéter sur ce qui
321321arrive quand nous remplissons le cache. Utiliser le gestionnaire de session est
322322aussi facile. Dans votre ``core.php `` imitez le block de session ressemblant
323323à ce qui suit::
@@ -334,7 +334,7 @@ aussi facile. Dans votre ``core.php`` imitez le block de session ressemblant
334334 // Assurez vous d'ajouter une config de cache apc
335335 Cache::config('apc', array('engine' => 'Apc'));
336336
337- Maintenant notre application va commencer en utilisant notre gestionnaire
337+ Maintenant notre application va se lancer en utilisant notre gestionnaire
338338de session personnalisé pour la lecture & l'écriture des données de session.
339339
340340.. php :class :: CakeSession
0 commit comments