Sessions Flashcards
bool session_abort ( void )
session_abort() finishes session without saving data. Thus original values in session data is kept.
int session_cache_expire ([ string $new_cache_expire ] )
session_cache_expire() retourne la configuration actuelle de session.cache_expire.
Le délai d’expiration du cache est remis à sa valeur par défaut de 180, stockée dans session.cache_limiter, au démarrage de la requête. Par conséquent, vous devez appeler session_cache_expire() à chaque requête (et avant que session_start() ne soit appelée).
string session_cache_limiter ([ string $cache_limiter ] )
session_cache_limiter() retourne la configuration courante du limiteur de cache.
Le limiteur de cache contrôle les en-têtes HTTP envoyés au client. Certains en-têtes déterminent les règles de mise en cache de la page sur le navigateur. En configurant ce limiteur à nocache, par exemple, le navigateur ne mettra pas la page dans son cache. La valeur public, au contraire, permettra le cache. La valeur private désactive le cache pour le proxy et autorise le client à mettre en cache le contenu.
En mode private, l’en-tête Expire envoyé au client peut poser des problèmes à certains navigateurs, comme, notamment, Mozilla. Vous pouvez éviter ce problème avec le mode private_no_expire. L’en-tête Expire n’est jamais envoyé au navigateur pour ce mode.
Le fait de définir le limiteur de cache à la valeur ‘’ désactivera automatiquement et totalement l’envoi des en-têtes de cache.
Le limiteur de cache est remis à la valeur par défaut de session.cache_limiter à chaque démarrage de script PHP. Donc, vous devrez appeler session_cache_limiter() à chaque page, et avant session_start().
session_commit()
Cette fonction est un alias de : session_write_close().
bool session_decode ( string $data )
session_decode() décode les données de sessions linéarisées fournies dans le paramètre $data, et peuple la variable superglobale $_SESSION.
Notez que la méthode de délinéarisation n’est pas la même que celle utilisée par la fonction unserialize(). La méthode de linéarisation est interne à PHP et peut être définie via l’option de configuration session.serialize_handler.
bool session_destroy ( void )
session_destroy() détruit toutes les données associées à la session courante. Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session. Pour accéder à nouveau aux variables de session, la fonction session_start() doit être appelée de nouveau.
Pour détruire complètement une session, lorqu’on déconnecte un utilisateur par exemple, l’identifiant de la session doit également être effacé. Si un cookie est utilisé pour propager l’identifiant de session (comportement par défaut), alors le cookie de session doit être effacé. La fonction setcookie() peut être utilisée pour cela.
string session_encode ( void )
session_encode() retourne une chaîne linéarisée contenant les variables de la session courante encodées stockées dans la variable superglobale $_SESSION.
Notez que la méthode de linéarisation n’est pas la même que celle utilisée par la fonction serialize(). Cette méthode de linéarisation est interne à PHP et peut être définie en utilisant l’option de configuration session.serialize_handler.
array session_get_cookie_params ( void )
Lit la configuration du cookie de session.
string session_id ([ string $id ] )
session_id() est utilisé pour récupérer ou définir l’identifiant de session pour la session courante.
La constante SID peut également être utilisée pour lire le nom de la session courante et l’identifiant de session à fournir dans les URL. Voyez aussi Gestion de session.
bool session_is_registered ( string $name )
Vérifie si une variable est enregistrée dans la session.
Avertissement
Cette fonction est devenue OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 5.4.0.
string session_module_name ([ string $module ] )
session_module_name() récupère le nom du module courant de session.
string session_name ([ string $name ] )
session_name() retourne le nom de la session courante. Si le paramètre name est fourni, session_name() modifiera le nom de la session et retournera l’ancien nom de la session.
Le nom de la session est réinitialisé à la valeur par défaut, stockée dans session.name lors du démarrage. Ainsi, vous devez appeler session_name() pour chaque demande (et avant que les fonctions session_start() ou session_register() ne soient appelées).
bool session_regenerate_id ([ bool $delete_old_session = false ] )
session_regenerate_id() va remplacer l’identifiant de session courant par un nouveau, généré automatiquement, tout en conservant les valeurs de session.
Lorsque l’option session.use_trans_sid est active, la sortie pour affichage doit commencer après l’appel à la fonction session_regenerate_id(). Sinon, l’ancien ID de session sera utilisé.
void session_register_shutdown ( void )
Enregistre la fonction session_write_close() comme fonction de fermeture de session.
bool session_register ( mixed $name [, mixed $… ] )
session_register() enregistre toutes les variables de nom name dans la session courante. Le nombre de variables enregistrées est libre. Les noms peuvent être passés comme des chaînes, ou comme des tableaux contenant des chaînes ou des tableaux. Pour chaque nom, session_register() place la variable dans la session courante, pour la sauvegarde de fin de script.
Vous pouvez aussi créer une variable de session, simplement en ajoutant l’index approprié dans la variable $_SESSION ou $HTTP_SESSION_VARS (PHP < 4.1.0).
bool session_reset ( void )
session_reset() reinitializes a session with original values stored in session storage. This function requires active session and discards changes in $_SESSION.
string session_save_path ([ string $path ] )
session_save_path() retourne le chemin du dossier actuellement utilisé pour sauver les données de sessions.
void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )
Modifie les paramètres de configuration du cookie de session, qui a été configuré dans le fichier php.ini. L’effet de cette fonction ne dure que pendant l’exécution du script courant. De ce fait, vous devez appeler session_set_cookie_params() pour chaque script et avant l’appel à session_start().
Cette fonction modifie à la volée les paramètres ini correspondants qui peuvent être récupérés au moyen de ini_get().
bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc [, callable $create_sid ] )
Depuis PHP 5.4, il est possible d'enregistrer le prototype suivant : bool session_set_save_handler ( SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true ] )
session_set_save_handler() configure les fonctions de stockage de sessions, et permet de choisir des fonctions utilisateurs pour sauver et relire toutes les sessions. Cette fonction est très pratique lorsqu’il faut sauver les données de sessions en utilisant une autre technique que le système par fichier fourni par défaut : notamment, stockage en base de données.
bool session_start ( void )
session_start() crée une session ou restaure celle trouvée sur le serveur, via l’identifiant de session passé dans une requête GET, POST ou par un cookie.
Lorsque session_start() est appelée ou lorsque une session démarre toute seule, PHP va appeler les gestionnaires d’ouverture et de lecture. Ce sont des gestionnaires internes fournis par PHP (comme fichiers, SQLite ou Memcached) ou encore des gestionnaires personnalisés définis au moyen de session_set_save_handler(). La fonction de lecture va récupérer toute session existante (stockée sous forme sérialisée) et va désérialiser les données pour peupler $_SESSION.
Pour utiliser une session nommée, vous devez appeler session_name() avant d’appeler session_start().
Lorsque session.use_trans_sid est activée, la function session_start() enregistrera un gestionnaire interne de sortie pour la réécriture d’URL.
Si un utilisateur utilise ob_gzhandler ou l’équivalent ob_start(), l’ordre d’appel des fonctions est important pour une sortie correcte. Par exemple, ob_gzhandler doit être enregistré avant de démarrer la session.
int session_status ( void )
session_status() est utilisée pour connaitre l’état de la session courante.
bool session_unregister ( string $name )
session_unregister() supprime la variable name de la session courante.
Avertissement
Cette fonction est devenue OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 5.4.0.
void session_unset ( void )
session_unset() détruit toutes les variables de la session courante.
void session_write_close ( void )
Termine la session courante, après avoir stocké les données.
Les données de session sont généralement stockées à la fin de votre script, automatiquement, sans besoin d’appeler explicitement session_write_close(). Mais durant toute l’exécution du script, les données de session sont verrouillées en écriture, et un seul script peut opérer sur la session en même temps. Lorsque vous utilisez des frames avec des sessions, vous vous en rendrez compte en voyant les frames se rafraîchir les uns après les autres. Vous pouvez réduire le temps de calcul de ces pages en refermant la session aussitôt que possible, ce qui libère les données pour les autres scripts.