thickPHP 控制器的详细使用

本文介绍了thickPHP框架中控制器的使用,包括输入模板内容、模板赋值和替换、空操作以及空模块的处理。还讨论了前置和后置操作在控制器中的角色,为空操作和空模块提供了定制错误页面和URL优化的可能性。

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

输入模板内容

1.display中没有参数

$this->display();

2.display带参数

$this->display('index2');//本模块文件下的其他方法文件
$this->display('public:error');//调用其他模块下的方法文件。注意:仅仅需要在view下有public文件夹中有error.html即可。不需要一定有public类模快
$this->display('./public/error.html');//.代表当前目录,是index.php入口文件的当前目录
$this->display('./public/error.html','utf-8','text/html');//可以填三个参数

3.fethc方法

$content = $this->fetch('index2');//获取模板文件的数据,已字符串的形式返回

4.show方法

$content = $this->fetch('index2');//获取模板文件的数据,已字符串的形式返回
$content = str_replace('div', 'i', $content);//将$content中的div字样替换成i
$this->show($content.'<b>这里显示加粗字体</b>');

模板中的赋值

$this->assign('name','xiaoqiang');
$this->name= 'xiaoqiang2';
$this->display();

模板替换

更多信息查看开发手册

__ROOT__: 会替换成当前网站的地址(不含域名) 
__APP__: 会替换成当前应用的URL地址 (不含域名)
__MODULE__:会替换成当前模块的URL地址 (不含域名)
__CONTROLLER__(__或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)
__ACTION__:会替换成当前操作的URL地址 (不含域名)
__SELF__: 会替换成当前的页面URL
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public

 

'TMPL_PARSE_STRING'=>array(
	'__CSS__'=>'__ROOT__/public/css',
	'__JS__'=>'__ROOT__/public/js'
),//自定义模板变量规则

空操作

空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行

function _empty($name){
    echo "$name 方法不存在";
}

空模块

空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。

<?php
namespace Home\Controller;
use Think\Controller;
use Think\Verify;
header('Content-Type:text/html;charset=utf-8');//编码问题
class EmptyController extends Controller{

	public function index(){
		$this->show(MODULE_NAME."<p>该模块不存在</p>".CONTROLLER_NAME."控制器不存在");
	}
}

前置和后置操作

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
    //前置操作方法
    public function _before_index(){
        echo 'before<br/>';
    }
    public function index(){
        echo 'index<br/>';
    }
    //后置操作方法
    public function _after_index(){
        echo 'after<br/>';
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值