MVC跳转
案例中实现跳转
封装一个可以完成跳转的方法,需要时,调用即可!
控制器的功能!
该功能应该被所有的控制器动作所共享,因此,应该在基础控制器中被定义:
Controller.class.php
class Controller{
public function _jump(){
}
}
实现:
分析,参数:
$url, 目标URL地址
$info, 提示信息
$wait, 等待时间
为 info和wait增加默认参数,可以做到,即可完成立即,也可以完成提示跳转!
代码实现:
class Controller{
public function _jump($url,$info=null,$wait=3){
if(is_null($info)){
header('location:'.$nul);
}else{
header("Refresh:$wait;URL=$url");
echo $info;
}
die;
}
}
项目中使用:
Back/AdminController->checkAction()
class AdminController extends Controller{
public function loginAction(){
require CURRENT_VIEW_PATH.'login.html';
}
public function checkAction(){
$admin_name = $_POST['username'];
$admin_pass = $_POST['password'];
$m_admnin = Factory::M('AdminModel');
if($m_admin->check($admin_name,$admin_pass)){
$this->_jump('index.php?p=back&c=Manage&a=index');
}else{
$this->_jump('index.php?p=back&c=Admin&a=login','管理员信息非法');
}
}
}
测试:
创建一个后台首页动作!
Application/back/controller/ManageController.class.php
indexAction();
class Manage extends Controller{
public function indexAction(){
echo '这是后台';
}
}