输入模板内容
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/>';
}
}