<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du code n'a rien à voir avec le contenu du texte,Planiseur d'espèce par exemple uniquement</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
* Comment passer session_register_shutdown Les fonctions mettent en œuvre l'écriture automatique et la persistance des variables de session?
*
* exister PHP Gestion de session,Le maintien de l'état de l'utilisateur dépend généralement de $_SESSION variable。
* 但exister某些情况下,Besoin de s'assurer que les données de session peuvent être automatiquement écrites et persistées,Évitez les appels manuels session_write_close()。
* PHP Fournit un nom appelé session_register_shutdown() Fonctions de,Utilisé pour enregistrer un rappel de session,
* Enregistrer automatiquement les données de session lorsque l'exécution du script se termine,Améliorer la simplicité et la sécurité du code。
*
* Cet article introduira en détail session_register_shutdown Comment utiliser et comment travailler。
*/</span>
</span><span><span class="hljs-comment">// 1. Qu'est-ce que session_register_shutdown?</span></span><span>
</span><span><span class="hljs-comment">//</span></span><span>
</span><span><span class="hljs-comment">// session_register_shutdown() Oui PHP 5.4.0 之后新增Fonctions de,旨exister注册一个内部回调函数,</span></span><span>
</span><span><span class="hljs-comment">// quand PHP À la fin du script,Appel automatique session_write_close(),Assurez-vous que les données de session sont écrites et fermées。</span></span><span>
</span><span><span class="hljs-comment">//</span></span><span>
</span><span><span class="hljs-comment">// Dans les méthodes traditionnelles,Les développeurs doivent l'appeler manuellement session_write_close() Pour enregistrer les données,</span></span><span>
</span><span><span class="hljs-comment">// Mais si le script n'est pas fermé explicitement en raison d'une exception ou non,Les données peuvent être perdues ou verrouillées en attente。</span></span><span>
</span><span><span class="hljs-comment">// 2. Exemple d'utilisation</span></span><span>
</span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>(); </span><span><span class="hljs-comment">// Démarrer une session</span></span><span>
</span><span><span class="hljs-comment">// Enregistrez une fonction de fermeture de session</span></span><span>
</span><span><span class="hljs-title function_ invoke__">session_register_shutdown</span></span><span>();
</span><span><span class="hljs-comment">// 现exister,Peu importe comment le script se termine,PHP La session sera automatiquement écrite et fermée。</span></span><span>
</span><span><span class="hljs-comment">// Les développeurs peuvent le modifier en toute confiance $_SESSION variable而无需担心数据持久化问题。</span></span><span>
</span><span><span class="hljs-comment">// Exemple:设置会话variable</span></span><span>
</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>] = </span><span><span class="hljs-string">'Zhang San'</span></span><span>;
</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'login_time'</span></span><span>] = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-comment">// 3. Scénarios d'application</span></span><span>
</span><span><span class="hljs-comment">//</span></span><span>
</span><span><span class="hljs-comment">// - Enregistrer automatiquement les modifications de données complexes,Aucun appel manuel requis session_write_close()</span></span><span>
</span><span><span class="hljs-comment">// - Réduisez les problèmes de blocage de verrouillage de session causés en oubliant de fermer la session</span></span><span>
</span><span><span class="hljs-comment">// - Améliorer la robustesse du code,Évitez la perte de données due à des interruptions anormales</span></span><span>
</span><span><span class="hljs-comment">// 4. Choses à noter</span></span><span>
</span><span><span class="hljs-comment">//</span></span><span>
</span><span><span class="hljs-comment">// - session_register_shutdown() 只exister session_start() L'appel est valable après。</span></span><span>
</span><span><span class="hljs-comment">// - PHP 5.4.0 Cette fonction n'est prise en charge que sur la version ci-dessus。</span></span><span>
</span><span><span class="hljs-comment">// - Non applicable à PHP 7.0 Version ultérieure,Parce que de PHP 7.0 augmenter,session Enregistrez automatiquement la fonction de clôture,</span></span><span>
</span><span><span class="hljs-comment">// Cette fonction est obsolète et génère un avertissement,Il est recommandé de l'utiliser directement session_start() Écrivez automatiquement à la session。</span></span><span>
</span><span><span class="hljs-comment">// 5. Résumer</span></span><span>
</span><span><span class="hljs-comment">//</span></span><span>
</span><span><span class="hljs-comment">// session_register_shutdown() Fournit un moyen facile,assurer PHP 会话数据existerÀ la fin du script自动写入,</span></span><span>
</span><span><span class="hljs-comment">// Approprié PHP 5.4 arriver 5.6 Utilisation de la version,Réduisez efficacement les tracas de la gestion manuelle des fermetures de session。</span></span><span>
</span><span><span class="hljs-comment">// exister现代 PHP 7 Versions ci-dessus,PHP Cette logique est traitée automatiquement par défaut,Les développeurs n'ont qu'à l'utiliser normalement session_start() Juste。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>