La façon dont PHP implémente le saut d'invite est la suivante : tout d'abord, lors du chargement automatique de MVC, charger et enregistrer automatiquement la classe du contrôleur de base ; puis hériter de la classe du contrôleur de base via différentes classes de contrôleur et enfin appeler le saut défini ; l'invite.
Dans le développement PHP, en particulier dans les frameworks ou projets MVC, vous rencontrerez de nombreuses situations de saut, telles que : sauter après une connexion réussie ou échouée, etc.
(Recommandation vidéo d'apprentissage : cours Java )
Ce qui suit est basé sur le développement du framework MVC, avec des exemples :
Dans la classe de contrôleur de base : Conrtoller.class.php
<?php /** * 基础控制器类 */ class Controller { /** * 跳转 * $url 目标url * $info 提示信息 * $time 等待时间(单位秒) */ protected function jump($url,$info=NULL,$time=3) { //判断是立即跳转还是刷新跳转 if(is_null($info)) { //立即跳转 header('location:'. $url); die; } else { //刷新跳转,给出提示 echo <<<TIAOZHUAN <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>提示信息</title> <style type='text/css'> * {margin:0; padding:0;} div {width:390px; height:287px; border:1px #09C solid; position:absolute; left:50%; margin-left:-195px; top:10%;} div h2 {width:100%; height:30px; line-height:30px; background-color:#09C; font-size:14px; color:#FFF; text-indent:10px;} div p {height:120px; line-height:120px; text-align:center;} div p strong {font-size:26px;} </style> <div> <h2>提示信息</h2> <p> <strong>$info</strong><br /> 页面在<span id="second">$time</span>秒后会自动跳转,或点击<a id="tiao" href="$url">立即跳转</a> </p> </div> <script type="text/javascript"> var url = document.getElementById('tiao').href; function daoshu(){ var scd = document.getElementById('second'); var time = --scd.innerHTML; if(time<=0){ window.location.href = url; clearInterval(mytime); } } var mytime = setInterval("daoshu()",1000); </script> TIAOZHUAN; die; } } }
Dans le chargement automatique de MVC, enregistrez Controller.class.php pour le chargement automatique
Héritez du contrôle de base ci-dessus de Controller.class.php via différentes classes de contrôleurs Après avoir ajouté la classe de gestionnaire, vous pouvez appeler l'invite de saut définie.
<?php /** * 后台管理员控制器(登录、注销、管理员的增删改查等) */ class AdminController extends Controller { /** * 展示登录表单动作 */ public function loginAction() { // 载入当前的视图文件 $this->display('login.html'); } /** * 后台注销功能 */ public function logoutAction() { @session_start(); // 删除相关会话数据 unset($_SESSION['adminInfo']); // 删除会话数据区 session_destroy(); // 立即跳转到登录页面 $this->jump('index.php?c=Admin&a=login','您已退出后台登录!'); } }
Bien sûr, ceci est implémenté dans MVC, vous pouvez également utiliser jump() séparément.
Ci-joint un rendu :
Recommandations associées : formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!