Usage basiqueLes instances Zend_Session_Namespace fournissent l'API primaire pour manipuler les données de session dans Zend Framework. Les espaces de noms sont utilisés pour isoler toutes les données de session, bien qu'un espace de noms par défaut existe pour ceux qui veulent juste un endroit pour stocker toutes leurs données de session. Zend_Session utilise ext/session et sa superglobale spéciale $_SESSION comme mécanisme de stockage pour les données d'état de session. Bien que $_SESSION est toujours disponible dans l'espace global de PHP, les développeurs devraient s'abstenir d'accéder directement à elle, alors que Zend_Session et Zend_Session_Namespace fournissent plus efficacement et plus solidement leur suite de fonctionnalités liées à session. Chaque instance de Zend_Session_Namespace correspond à une entrée dans le tableau de la superglobale $_SESSION, où l'espace de noms est utilisée comme une clé.
Tutoriel d'exemples
Si aucun espace de noms n'est spécifié lors de l'instanciation de
Zend_Session_Namespace, toutes les données sont stockées de
manière transparente dans un espace de noms appelé " Example #1 Compter le nombre de pages vues
Quand de multiples modules utilisent des instances de Zend_Session_Namespace ayant différents espaces de noms, chaque module obtient une encapsulation pour ses propres données de session. Le constructeur de Zend_Session_Namespace peut recevoir un paramètre facultatif $namespace, qui permet aux développeurs la partition des données de session dans des espaces de noms séparés. Les espaces de noms fournissent une manière efficace et populaire de protéger un sous-ensemble de données de session contre un changement accidentel dû à des collisions de noms.
Les noms des espaces de noms sont limités à des chaînes de caractères PHP
non-vides qui ne commencent par un tiret-bas (" Example #2 Nouvelle méthode : les espaces de noms évitent les collisions
L'exemple ci-dessus réalise la même chose que celui ci-dessous, excepté que les objets de session ci-dessus préserve l'encapsulation des données de session dans leur espace de noms respectif. Example #3 Ancienne méthode : accès aux sessions PHP
Énumérer les espaces de noms de session
Zend_Session_Namespace fournit une » interface
IteratorAggregate complète, incluant le support de l'instruction
Example #4 Énumération des sessions
Accesseurs pour les espaces de noms de sessionZend_Session_Namespace implémente __get(), __set(), __isset(), et __unset(). » Les méthodes magiques ne devraient pas être utilisées directement, excepté à l'intérieur d'une sous-classe. Au lieu de cela, utilisez les opérateurs normaux pour appeler ces méthodes magiques, comme :
|