Maison >php教程 >PHP开发 >Analyse de l'utilisation de la méthode de session dans thinkphp3.x

Analyse de l'utilisation de la méthode de session dans thinkphp3.x

高洛峰
高洛峰original
2016-12-22 10:19:271234parcourir

L'exemple de cet article décrit l'utilisation de la méthode session dans thinkphp3.x. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. La méthode Session est utilisée pour les opérations de configuration, d'acquisition, de suppression et de gestion de session. La session est utilisée pour les opérations de configuration, de récupération, de suppression et de gestion de session

Session d'utilisation ($name, $value='')

Nom du paramètre (obligatoire) : si un tableau est transmis, cela signifie l'initialisation de la session. Si null est transmis, cela signifie l'effacement de la session en cours. S'il s'agit d'une chaîne, cela signifie l'affectation, l'acquisition ou l'opération de session.

Valeur (facultatif) : La valeur de session à définir. Si null est transmis, cela signifie supprimer la session. La valeur par défaut est une chaîne vide

La valeur de retour renvoie différentes valeurs. selon l'utilisation spécifique

La fonction de session est une fonction d'opération diversifiée. La transmission de différents paramètres peut effectuer différentes opérations fonctionnelles, y compris les fonctions suivantes.

2. Paramètre d'initialisation de session

Si le paramètre de nom de la méthode de session est passé dans le tableau, cela signifie le paramètre d'initialisation de session, par exemple :

session(array('name'=>'session_id','expire'=>3600));

Les paramètres de session entrante pris en charge incluent :

id valeur de session_id
nom valeur de nom de session
chemin valeur de chemin de session_save_path
préfixe préfixe d'espace de localisation de session
expire session. gc_maxlifetime valeur de paramètre
domain session.cookie_domain valeur de paramètre
use_cookies session.use_cookies valeur de paramètre
use_trans_sid session.use_trans_sid valeur de paramètre
cache_limiter session_cache_limiter valeur de paramètre
cache_expire session_cache_expire valeur de paramètre
type session hand er Tapez, vous pouvez utiliser l'extension du pilote de gestionnaire

La méthode de configuration d'initialisation de session n'a pas besoin d'être appelée manuellement. Elle sera appelée automatiquement une fois le travail d'initialisation de la classe App terminé. doit configurer le paramètre SESSION_OPTIONS. Le paramètre SESSION_OPTIONS est un tableau, les noms d'index pris en charge sont les mêmes que les paramètres d'initialisation de session précédents.

Par défaut, le système démarrera automatiquement la session après l'initialisation. Si vous ne souhaitez pas que le système démarre automatiquement la session, vous pouvez définir SESSION_AUTO_START sur false, par exemple :

'SESSION_AUTO_START' =>false

Après avoir désactivé le démarrage automatique, vous pouvez démarrer la session dans le fichier public du projet ou en appelant manuellement session_start ou session('[start]') dans le contrôleur.

3. Assignation de session

L'affectation de session est relativement simple, utilisez-la directement :

session('name','value'); //设置session

est équivalent à :

$_SESSION['name'] = 'value';

4. Valeur de session

Utilisation de la valeur de session :

$value = session('name');

équivaut à utiliser :

$value = $_SESSION['name'];

5. Suppression de session

session('name',null); // 删除name

équivaut à :

unset($_SESSION['name']);

Pour supprimer toutes les sessions, vous pouvez utiliser :

session(null); // 清空当前的session

est équivalent à :

$_SESSION = array();

6. Jugement de séance

Juger si une valeur de session est déjà définie, vous pouvez utiliser

session('?name');

pour déterminer si la valeur de session nommée nom a été définie

. équivalent à :

isset($_SESSION['name']);

7. Gestion de session

La méthode de session prend en charge certaines opérations simples de gestion de session.

session('[操作名]');

Les noms d'opérations pris en charge incluent :

démarrer démarrer la session

mettre en pause l'écriture de la session
détruire détruire la session
regenerate régénérer l'identifiant de session

Les exemples d'utilisation sont les suivants :

session('[pause]'); // 暂停session写入
session('[start]'); // 启动session
session('[destroy]'); // 销毁session
session('[regenerate]'); // 重新生成session id

8. Prise en charge de la localisation

Si réussi lors de l'initialisation des paramètres de session. Si le paramètre préfixe ou le paramètre SESSION_PREFIX est défini séparément, la prise en charge de la gestion de session localisée peut être activée. Après avoir démarré la session localisée, toutes les opérations d'affectation, d'acquisition de valeur, de suppression et de jugement prendront automatiquement en charge la session localisée.

Une fois la prise en charge des sessions localisées activée, le format des données de session générées passe de l'original $_SESSION['name'] à $_SESSION['prefix']['name']

Supposons que le préfixe soit ​​prêt à réfléchir , alors

opération d'affectation :

session('name','value'); //设置session

est équivalente à :

$_SESSION['think']['name'] = 'value';

Opération de valeur :

$value = session('name');

équivaut à utiliser :

$value = $_SESSION['think']['name'];

Opération Supprimer :

session('name',null);

Équivalent à :

unset($_SESSION['think']['name']);

Opération claire :

session(null);

Équivalent à :

unset($_SESSION['think']);

Opération de jugement :

session('?name');

Équivalent à :

isset($_SESSION['think']['name']);

J'espère que ce que décrit cet article sera utile à la programmation PHP de chacun basée sur le framework ThinkPHP.

Pour plus d'articles liés à l'analyse de l'utilisation de la méthode de session dans thinkphp3.x, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn