php控制器的使用

本文介绍了ThinkPHP5框架中控制器的创建、加载页面、前置操作、页面跳转、重定向以及空控制器和空操作的实现方法。包括声明命名空间、使用fetch方法输出视图、定义前置方法、使用success()和error()进行页面跳转,以及如何处理恶意的地址栏输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建控制器:
默认前台模块为例:新建控制器文件 User.php
书写内容:
// 声明命名空间
namespace app\index\controller;
// 声明控制器
class User{
// 声明方法
public function index(){
return “我是User控制器下的index方法”;
}
}`
注意:
1、控制器文件名必须首字母大写,文件名采用驼峰命名。
2、控制器名必须跟文件名一一对应
3、命名空间必须和文件名对应
2、控制器如何加载页面
引入系统类:use think\View;
使用fetch方法输出视图
$view=new \think\View;
return $view->fetch();
3.前置操作
* 前置方法 把一些公共的设置提取成方法进行调用
* 前置方法必须结合系统控制器,继承
* beforeActionList变量声明

 protected $beforeActionList=[
			'one',
			// 不想让谁使用前置方法two
			'two'=>['except'=>"index"],
			// 仅仅可以让谁使用前置方法three
			'three'=>['only'=>'index'],
		];
 可以为某个或者某些操作指定前置执行的操作方法,设置 			beforeActionList 属性可以指定某个方法为其他
方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。
 表示这些方法不能使用前置方法
 ['except' => '方法名,方法名']
仅能让方法名使用前置方法
 ['only' => '方法名1,方法名N']
public function one(){
        echo "我是 one方法";
    }
    public function tow(){
        echo "我是tow方法";
    }
    public function three(){
        echo "我是three方法";
    }

6、页面跳转
页面跳转基于系统控制器类,所以控制器必须继承系统控制器
方法所在路径
C:\AppServ\www\tp5\thinkphp\library\traits\controlle\Jump.php
成功跳转:success()方法
success(提示信息,跳转地址,用户自定义数据,跳转跳转,header信息);
失败跳转:error()方法;
相关配置文件
// 默认跳转页面对应的模板文件

'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
		'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',

7、重定向
作用:
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其 它位置
基于系统控制器类,所以必须先去继承
使用:
redirect(‘跳转地址’,‘其他参数’,code,‘隐士参数’);
我们可以直接给他一个跳转地址即可
$this->redirect(“url”);
8.空控制器和空操作
主要解决一些用户恶意的地址栏输入,报错影响交互
基于系统控制器类,所以必须先去继承
使用: _empty构造方法声名
1、空操作

public function _empty(){
			$this->redirect('index/index');

		}
2、空控制器
// 声明命名空间
		namespace app\index\controller;
		use think\Controller;
		// 声明控制器
		class Error extends Controller{
			// index
			public function index(){
				$this->redirect('index/index');
			}
			// 空操作
			public function _empty(){
				$this->redirect('index/index');
				
			}
		}
3.注意:
	1、网站上线的时候每一个控制器都必须添加空操作
	2、不论前台后台都需要写一个空控制器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值