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"]; } }
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
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 :
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 :
'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.
affectation de session
L'affectation de session est relativement simple, utilisez-la directement :
session('name','value'); //设置sessionéquivaut à :
$_SESSION['name'] = 'value';Valeur de session
Session取值使用: $value = session('name'); 相当于使用: $value = $_SESSION['name'];suppression de session
session('name',null); // 删除name 相当于: unset($_SESSION['name']); 要删除所有的session,可以使用: session(null); // 清空当前的session 相当于: $_SESSION = array();jugement de sessionPour juger si une valeur de session a été définie, vous pouvez utiliser
session( '?name' );
Équivalent à :
isset($_SESSION['name']);
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]');
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
En supposant que le préfixe soit défini sur penser, l'opération d'affectation est :
est équivalent à :
Opération de valeur :
équivaut à utiliser :
Opération de suppression :
Équivalent à :
Opération claire :
Équivalent à :
Opération de jugement :
Équivalent à :
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 !