20150314--TP-02

本文详细介绍了ThinkPHP框架中的URL配置选项,包括不同的URL模式及其配置方法,以及如何通过配置实现URL的大小写敏感性和页面跳转。此外,还讲解了视图的基本概念和模板的使用技巧。

1、 url调度模式

url的调度模式就是url的访问方式

ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义

这个配置选项的值共有四个

0   :普通模式

1 :pathinfo模式(默认)

2 :rewrite模式

3 :兼容模式

1) 普通模式

wpsBBDB.tmp

语法:

http://项目/入口文件?m=模块名&a=动作名

运行:

wpsBBDC.tmp

2) pathinfo模式

wpsBBDD.tmp

语法:

http://项目/入口文件/模块名/动作名

运行:

wpsBBED.tmp

在项目的配置文件中,可以修改以下选项修改路径分隔符

URL_PATHINFO_DEPR

wpsBBEE.tmp

访问时:

wpsBBFF.tmp

3) rewrite模式

(1) 修改config.php配置选项

wpsBC00.tmp

(2) httpd.conf配置文件中加载了mod_rewrite.so模块

wpsBC10.tmp

(3)AllowOverride None 将None改为 All

wpsBC21.tmp

(4)把下面的内容保存为.htaccess文件放到入口文件的同级目录下

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

语法:

http://项目/模块名/动作名

运行:

wpsBC22.tmp

4) 兼容模式

wpsBC23.tmp

语法:

http://项目/入口文件?s=/模块名/动作名

运行:

wpsBC34.tmp

2、 空操作

空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。

语法:

public function _empty($name){

}

1) 错误页面的定制

wpsBC44.tmp

访问时:

wpsBC45.tmp

2) 优化url

wpsBC56.tmp

访问:

wpsBC67.tmp

我们访问时,由于没有shanghai方法,所以会自动定位到_empty方法中,并将shanghai做为参数传递给$name。

3、 空模块

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

语法:

class EmptyAction extends Action{

}

MODULE_NAME:请求的当前模块名称

1) 错误页面的订制

wpsBC77.tmp

运行:

wpsBC88.tmp

系统找不到abc控制器,所以会自动定位到EmptyAction中。

2) 优化url

wpsBC89.tmp

运行:

wpsBC99.tmp

4、 项目分组

一般网站项目是由若干个小项目构成的,如:前台、后台、会员、博客等

配置文件config.php中有两个选项,用于配置项目的分组

l APP_GROUP_LIST :分组列表

l DEFAULT_GROUP :默认组名

1) 修改配置文件

wpsBCAA.tmp

2) 创建分组控制器目录

wpsBCAB.tmp

3) 运行

wpsBCBC.tmp

4) 对模板进行分组

wpsBCCC.tmp

5、 url大小写

TP中的url严格区分大小写,如果想不区分大小写,可以修改以下选项:

配置文件:config.php

l ‘URL_CASE_INSENSITIVE’=>true

wpsBCCD.tmp

运行:

wpsBCDE.tmp

6、 页面跳转

在需要对用户的操作信息进行提示时,可以使用以下两个方法:

l success :操作成功时所调用的方法

l error   :操作失败时所调用的方法

配置文件:config.php

l TMPL_ACTION_SUCCESS :success方法对应的模板

l TMPL_ACTION_ERROR :error方法对应的模板

代码:

wpsBCEF.tmp

运行:

wpsBCF0.tmp

配置文件中:

wpsBD00.tmp

可以修改以上选项,实现自定义模板

7、 页面重定向

如果想实现页面的重定向,可以使用以下方法:

redirect

语法:

$this->redirect(“news/show”, array(‘id’=>2),  5, “页面跳转中” );

参数1:跳转地址

参数2:参数数组

参数3:停留时间

参数4:提示信息

wpsBD11.tmp

一、 视图

1、 什么是视图

用户看到的并与之交互的界面

在tp中,视图主要包含两部份:

1) 视图类

2) 模板

2、 模板定义

默认的模板文件定义规则:

模板目录/[分组名/]模块名/操作名+模板后缀

TMPL_TEMPLATE_SUFFIX :模板后缀名

wpsBD12.tmp

wpsBD13.tmp

3、 分隔符

l 'TMPL_L_DELIM'=>'<{', :模板左分界符  默认:{

l 'TMPL_R_DELIM'=>'}>', :模板右分界符 默认:}

wpsBD23.tmp

4、 模板赋值与输出

模板赋值:

$this->assign(‘模板变量名’,’值’);

模板输出:

$this->display(‘模板名’);

wpsBD34.tmp

5、 模板字符串替换

在tp的模板中,默认有一些字符串表示一些路径

l __PUBLIC__:当前网站的公共目录

l __APP__: 当前项目的URL地址

l __GROUP__:当前分组的URL地址

l __URL__: 当前模块的URL地址

l __ACTION__:当前操作的URL地址

l TMPL_PARSE_STRING :可以在配置文件中配置此选项,用于一些常用路径的定义

Tmpl_parse_string

模板文件:

wpsBD45.tmp

运行:

wpsBD55.tmp

配置文件:

wpsBD56.tmp

模板文件:

wpsBD67.tmp

6、 获取内容

l $this->fetch();

fetch :获取内容,返回字符串

display :输出字符串

wpsBD78.tmp

posted on 2016-05-07 23:08  山山未迟 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lifushan/p/5469471.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值