Maison php教程 PHP开发 Un court tutoriel sur la façon de laisser thinkphp terminer automatiquement l'affectation de session dans le modèle

Un court tutoriel sur la façon de laisser thinkphp terminer automatiquement l'affectation de session dans le modèle

Dec 22, 2016 am 10:34 AM
session

Je crois que les utilisateurs qui ont utilisé thinkphp savent que le modèle de thinkphp peut remplir de nombreuses fonctions auxiliaires, telles que la vérification automatique, la complétion automatique, etc. Aujourd'hui, pendant le développement, j'ai rencontré le besoin d'obtenir la valeur de session

puis attribuez automatiquement la valeur lors de l'achèvement automatique. Fonction, veuillez consulter le code pour plus de détails

class ArticlelModel extends Model {
   
  protected $_auto = array (
    array('addtime','time',1,'function'),
    array('username','getName',1,'callback')
  );
   
  //这个函数获取session里的name值
  protected function getName(){
    return $_SESSION["name"];
  }
}
Copier après la connexion

Ici, vous devez faire attention à la différence entre la dernière fonction de paramètre et ; callback;
fonction : Lors de l'utilisation d'une fonction, elle ira automatiquement dans Common/common.php Pour trouver la fonction correspondante ;
callback : utilisez la méthode de rappel définie dans le modèle actuel

Un court tutoriel sur la façon de laisser thinkphp terminer automatiquement laffectation de session dans le modèle

La fonction de session est une fonction d'opération diversifiée qui est appelée avec différents paramètres. Différentes opérations fonctionnelles peuvent être effectuées, y compris certaines des fonctions suivantes. [-more-]
paramètres d'initialisation de session
Si le paramètre name de la méthode de session est passé dans un tableau, cela signifie les paramètres d'initialisation de session, par exemple :
session(array('name'=> 'session_id',' expire'=>3600));

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

Un court tutoriel sur la façon de laisser thinkphp terminer automatiquement laffectation de session dans le modèle

La méthode de configuration d'initialisation de session n'a pas besoin d'être appelé manuellement, dans la classe App Il sera appelé automatiquement une fois le travail d'initialisation terminé. Habituellement, le projet n'a besoin que de 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 précédents. paramètres d'initialisation de session.

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 :

<🎜. >
&#39;SESSION_AUTO_START&#39; =>false
Copier après la connexion

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.

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

session(&#39;name&#39;,&#39;value&#39;); //设置session
Copier après la connexion

équivaut à :

$_SESSION[&#39;name&#39;] = &#39;value&#39;;
Copier après la connexion

Valeur de session

Session取值使用:
$value = session(&#39;name&#39;);
 
相当于使用:
$value = $_SESSION[&#39;name&#39;];
Copier après la connexion
suppression de session

session(&#39;name&#39;,null); // 删除name
 
相当于:
unset($_SESSION[&#39;name&#39;]);
 
要删除所有的session,可以使用:
session(null); // 清空当前的session
 
相当于:
$_SESSION = array();
Copier après la connexion
jugement de session

Pour juger si une valeur de session a été définie, vous pouvez utiliser

session( '?name' );

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

Équivalent à :
isset($_SESSION['name']);

gestion de session

La méthode de session prend en charge certaines opérations simples de gestion de session. L'utilisation est la suivante :
session('[nom de l'opération]');

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

Un court tutoriel sur la façon de laisser thinkphp terminer automatiquement laffectation de session dans le modèle

Les exemples d'utilisation sont les suivants :

session('[pause]'); // Suspendre l'écriture de la session
session('[start]'); 🎜>session('[destroy ]'); // Détruire la session
session('[regenerate]'); // Régénérer l'identifiant de session


Support de localisation


Si vous transmettez le paramètre préfixe lors de l'initialisation des paramètres de session ou définissez le paramètre SESSION_PREFIX séparément, vous pouvez activer la prise en charge de la gestion de session localisé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']


En supposant que le préfixe soit défini sur penser, l'opération d'affectation est :

session('name','value'); //Définir la session


est équivalent à :

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


Opération de valeur :

$value = session('name');


équivaut à utiliser :

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


Opération de suppression :

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']);


Pour plus d'articles sur la façon de permettre à thinkphp de terminer automatiquement l'affectation de session dans le modèle, veuillez prêter attention au site Web PHP chinois !

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment définir le délai d'expiration de la session dans SpringBoot Session Comment définir le délai d'expiration de la session dans SpringBoot Session May 15, 2023 pm 02:37 PM

Le problème a été détecté dans le délai d'expiration de la session de production du projet Springboot. Le problème est décrit ci-dessous : Dans l'environnement de test, la sortie de session a été configurée en modifiant le fichier application.yaml après avoir défini différentes heures pour vérifier la configuration de la sortie de session. est entré en vigueur, le délai d'expiration a été directement fixé à 8 heures pour la sortie. Arrivé en environnement de production. Cependant, j'ai reçu à midi des commentaires de clients indiquant que le délai d'expiration du projet était court. Si aucune opération n'est effectuée pendant une demi-heure, la session expirera et nécessitera des connexions répétées. Résolvez le problème de la gestion de l'environnement de développement : le projet Springboot intègre Tomcat, donc la sortie de session configurée dans application.yaml dans le projet est efficace. Environnement de production : la version de l'environnement de production est

Comment résoudre l'échec de la session Comment résoudre l'échec de la session Oct 18, 2023 pm 05:19 PM

L'échec de la session est généralement dû à l'expiration de la durée de vie de la session ou à l'arrêt du serveur. Les solutions : 1. Prolonger la durée de vie de la session ; 2. Utiliser le stockage persistant ; 3. Utiliser les cookies ; 4. Mettre à jour la session de manière asynchrone ; 5. Utiliser un middleware de gestion de session ;

Solution au problème inter-domaines de session PHP Solution au problème inter-domaines de session PHP Oct 12, 2023 pm 03:00 PM

Solution au problème inter-domaines de PHPSession Dans le développement de la séparation front-end et back-end, les requêtes inter-domaines sont devenues la norme. Lorsque nous traitons de problèmes interdomaines, nous impliquons généralement l'utilisation et la gestion de sessions. Cependant, en raison des restrictions de la politique d'origine du navigateur, les sessions ne peuvent pas être partagées par défaut entre les domaines. Afin de résoudre ce problème, nous devons utiliser certaines techniques et méthodes pour réaliser le partage de sessions entre domaines. 1. L'utilisation la plus courante des cookies pour partager des sessions entre domaines

Que dois-je faire si la session php disparaît après l'actualisation ? Que dois-je faire si la session php disparaît après l'actualisation ? Jan 18, 2023 pm 01:39 PM

Solution au problème de disparition de la session php après l'actualisation : 1. Ouvrez la session via "session_start();" ; 2. Écrivez toutes les configurations publiques dans un fichier php ; 3. Le nom de la variable ne peut pas être le même que l'indice du tableau ; 4. Dans Vérifiez simplement le chemin de stockage des données de session dans phpinfo et vérifiez si la session dans le répertoire de fichiers est enregistrée avec succès.

Quel est le délai d'expiration par défaut de la session PHP ? Quel est le délai d'expiration par défaut de la session PHP ? Nov 01, 2022 am 09:14 AM

Le délai d'expiration par défaut de la session PHP est de 1440 secondes, soit 24 minutes, ce qui signifie que si le client ne s'actualise pas pendant plus de 24 minutes, la session en cours expirera si l'utilisateur ferme le navigateur, la session se terminera et la session PHP expirera. La session n'existera plus.

Comment résoudre le problème selon lequel le paramètre de délai d'expiration de la session Springboot2 n'est pas valide Comment résoudre le problème selon lequel le paramètre de délai d'expiration de la session Springboot2 n'est pas valide May 22, 2023 pm 01:49 PM

Problème : Aujourd'hui, nous avons rencontré un problème de délai d'expiration dans notre projet et les modifications apportées au fichier application.properties de SpringBoot2 n'ont jamais pris effet. Solution : Les propriétés server.* sont utilisées pour contrôler le conteneur intégré utilisé par SpringBoot. SpringBoot créera une instance du conteneur de servlet en utilisant l'une des instances ServletWebServerFactory. Ces classes utilisent les propriétés server.* pour configurer le conteneur de servlets contrôlé (tomcat, jetty, etc.). Lorsque l'application est déployée en tant que fichier war sur une instance Tomcat, les propriétés server.* ne s'appliquent pas. Ils ne s'appliquent pas,

Comment implémenter la connexion SMS dans l'application de session partagée Redis Comment implémenter la connexion SMS dans l'application de session partagée Redis Jun 03, 2023 pm 03:11 PM

1. Implémentation de la connexion SMS basée sur la session 1.1 Organigramme de connexion SMS 1.2 Implémentation de l'envoi du code de vérification SMS Description de la demande frontale : Description de la méthode de demande Chemin de requête POST/utilisateur/code paramètre de demande téléphone (numéro de téléphone) valeur de retour Aucune interface back-end implémentation : @Slf4j@ ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){//1 Vérifiez le numéro de téléphone mobile si.

Quelles sont les différences entre les cookies JavaScript et PHP ? Quelles sont les différences entre les cookies JavaScript et PHP ? Sep 02, 2023 pm 12:29 PM

Cookies JavaScript L'utilisation de cookies JavaScript constitue le moyen le plus efficace de mémoriser et de suivre les préférences, les achats, les commissions et autres informations. Informations nécessaires pour une meilleure expérience de visiteur ou des statistiques de site Web. PHPCookieCookies sont des fichiers texte stockés sur les ordinateurs clients et conservés à des fins de suivi. PHP prend en charge de manière transparente les cookies HTTP. Comment fonctionnent les cookies JavaScript ? Votre serveur envoie certaines données au navigateur de votre visiteur sous la forme d'un cookie. Les navigateurs peuvent accepter les cookies. S'il est présent, il sera stocké sur le disque dur du visiteur sous forme d'enregistrement en texte brut. Désormais, lorsqu'un visiteur atteint une autre page du site

See all articles