ThinkPHP 控制器(一)

本文介绍了ThinkPHP框架中控制器的基本概念及使用方法,包括控制器的创建、方法命名规则、二级控制器配置、事件控制器调用等核心内容,并展示了如何利用前置与后置操作方法。

一、控制器操作

1、我们首先复习一下基本的控制器定义和方法执行方式。

第一步:控制器默认创建在当前模块下的 Controller 目录下;
第二步:按照指定的命名规则:控制器名
(首字母大写)+Controller.class.php
第三步:控制器里的方法必须是
public 公共的;
//控制器
class UserControllerextendsController {
public function index() {
//index()方法在URL访问时可以忽略
}
}
URL
访问:http://localhost/demo39/User/index/

2、如果方法名和关键字冲突,可以通过为方法名添加后缀的方式来解决:

//配置方法的后缀

'ACTION_SUFFIX'=>'ACTION',

PS:每个方法名后面加上后缀,通过URL访问时则不需要添加后缀

3、默认情况下URL访问的是控制器模块下的方法,也可以将某些方法分离到外部,然后进行访问:

a、Home目录下创建事件控制器目录:Event;

b、创建UserEvent.class.php类;

class UserEvent {

public function test(){

   echo ‘当触发测试事件,执行这个方法,这个方法属于内部调用’;

}

}

c、访问控制器内部调用事件控制器方法:

class UserController extends Controller{

public function index(){

第一种方法:

$userEvent=new UserEvent();

$userEvent->test();

第二种方法:调用A()方法

$userEvent('User'(控制器名),'Event'(文件夹名));

}

}

4、当项目较为繁杂的时候,想创建统一模块下多个控制器时,可以配置二级控制器(一级和二级不能共同使用,只能使用一个)。


第一步:配置允许二级控制器;
//允许二级控制器
'CONTROLLER_LEVEL'=>2,


第二步:在 Controller目录下创建 User目录,在 User目录下创建一个控制器Member;
//二级控制器写法
namespace Home\Controller\User;
use Think\Controller;
class MemberControllerextends Controller {
public function index() {
echo '多级控制器';
}

PS:

ThinkPHP 控制器还提供了两个特殊的方法, 前置操作方法_before_index()和后置操作方法_after_index()。这两个方法,在控制器index()方法的时候,一个在之前执行,一个在之后执行。


//前置执行
public function _before_index() {
echo '前置操作方法';
}


//后置执行
public function _after_index() {
echo '后置操作方法';
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值