标签:
url的调度模式就是url的访问方式
ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义
这个配置选项的值共有四个
0 :普通模式
1 :pathinfo模式(默认)
2 :rewrite模式
3 :兼容模式
1) 普通模式
语法:
http://项目/入口文件?m=模块名&a=动作名
运行:
2) pathinfo模式
语法:
运行:
在项目的配置文件中,可以修改以下选项修改路径分隔符
URL_PATHINFO_DEPR
访问时:
3) rewrite模式
(1) 修改config.php配置选项
(2) httpd.conf配置文件中加载了mod_rewrite.so模块
(3)AllowOverride None 将None改为 All
(4)把下面的内容保存为.htaccess文件放到入口文件的同级目录下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
语法:
运行:
4) 兼容模式
语法:
http://项目/入口文件?s=/模块名/动作名
运行:
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
语法:
public function _empty($name){
}
1) 错误页面的定制
访问时:
2) 优化url
访问:
我们访问时,由于没有shanghai方法,所以会自动定位到_empty方法中,并将shanghai做为参数传递给$name。
空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。
语法:
class EmptyAction extends Action{
}
MODULE_NAME:请求的当前模块名称
1) 错误页面的订制
运行:
系统找不到abc控制器,所以会自动定位到EmptyAction中。
2) 优化url
运行:
一般网站项目是由若干个小项目构成的,如:前台、后台、会员、博客等
配置文件config.php中有两个选项,用于配置项目的分组
l APP_GROUP_LIST :分组列表
l DEFAULT_GROUP :默认组名
1) 修改配置文件
2) 创建分组控制器目录
3) 运行
4) 对模板进行分组
TP中的url严格区分大小写,如果想不区分大小写,可以修改以下选项:
配置文件:config.php
l ‘URL_CASE_INSENSITIVE’=>true
运行:
在需要对用户的操作信息进行提示时,可以使用以下两个方法:
l success :操作成功时所调用的方法
l error :操作失败时所调用的方法
配置文件:config.php
l TMPL_ACTION_SUCCESS :success方法对应的模板
l TMPL_ACTION_ERROR :error方法对应的模板
代码:
运行:
配置文件中:
可以修改以上选项,实现自定义模板
如果想实现页面的重定向,可以使用以下方法:
redirect
语法:
$this->redirect(“news/show”, array(‘id’=>2), 5, “页面跳转中” );
参数1:跳转地址
参数2:参数数组
参数3:停留时间
参数4:提示信息
用户看到的并与之交互的界面
在tp中,视图主要包含两部份:
1) 视图类
2) 模板
默认的模板文件定义规则:
模板目录/[分组名/]模块名/操作名+模板后缀
TMPL_TEMPLATE_SUFFIX :模板后缀名
l ‘TMPL_L_DELIM‘=>‘<{‘, :模板左分界符 默认:{
l ‘TMPL_R_DELIM‘=>‘}>‘, :模板右分界符 默认:}
模板赋值:
$this->assign(‘模板变量名’,’值’);
模板输出:
$this->display(‘模板名’);
在tp的模板中,默认有一些字符串表示一些路径
l __PUBLIC__:当前网站的公共目录
l __APP__: 当前项目的URL地址
l __GROUP__:当前分组的URL地址
l __URL__: 当前模块的URL地址
l __ACTION__:当前操作的URL地址
l TMPL_PARSE_STRING :可以在配置文件中配置此选项,用于一些常用路径的定义
Tmpl_parse_string
模板文件:
运行:
配置文件:
模板文件:
l $this->fetch();
fetch :获取内容,返回字符串
display :输出字符串
标签:
原文地址:http://www.cnblogs.com/lifushan/p/5469471.html