ThinkPHP路由机制简介
本文实例讲述了ThinkPHP路由机制。分享给大家供大家参考,具体如下:
ThinkPHP 支持 URL 路由功能,要启用路由功能,需要设置ROUTER_ON参数为true。开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。路由功能需要定义路由定义文件,位于项目的配置目录下面,文件名为 routes.php
定义格式:
Return Array( 'RouteName'=>array('模块名称','操作名称','参数定义','额外参数'), //常规路由 );
例如,我们启用了路由功能,并且定义了下面的一个路由规则:
'blog'=>array('Blog','index','year,month,day','userId=1&status=1')
那么我们在执行
<A href="http://<severName>/appName/blog/2007/9/15">http://<severName>/appName/blog/2007/9/15
的时候就会实际执行 Blog 模块的 index 操作,后面的参数/2007/9/15/ 就会依次按照 year/month/day 来解析,并且会隐含传入 userId=1 和 status=1 两个参数。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
前言 读过一篇关于Zend Framework2的技术文章<ZF2多级树形路由Route配置实例>,是介绍路由配置的.我觉得很有意思,这是的需求: /user对应用户列表页面 /user/:user_id对应用户的个人主页,比如 /user/AlloVince 就对应AlloVince用户的个人主页 /user/:user_id/blog/对应用户的博客列表页面,比如 /user/AlloVince/blog 就会列出AlloVince写过的Blog /user/:user_id/blog/:
-
thinkphp实现图片上传功能
关于图片上传,实现方法很多,比如可以用jQuery,当然,我们的thinkPHP内置了关于图片上传的功能,我们可以直接使用,使用方法如下: 首先,是表单书写,我们建立如下表单: <form action="__URL__/addChk" method="post" enctype="multipart/form-data"> <table cellspacing="1" cellpadding="2
-
thinkphp的URL路由规则与配置实例
本文实例讲述了thinkphp的URL路由规则与配置方法.分享给大家供大家参考.具体分析如下: 一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 复制代码 代码如下: 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 3.如果模块名为 UserGroupAction,那么url找模块就必要要写成 复制代码 代码如下: http://localhost/thinkphp4/index.php/user_group/index 4.如果
-
thinkphp命名空间用法实例详解
本文实例讲述了thinkphp命名空间用法.分享给大家供大家参考,具体如下: 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间的路径和类库文件的目录一致,就可以实现类的自动加载,例如Org\Util\File类的定义为 namespace Org\Util; class File { } 其所在的路径是ThinkPHP/Library/Org/Util/File.class.php,我们实
-
ThinkPHP使用Smarty第三方插件方法小结
本文实例讲述了ThinkPHP使用Smarty第三方插件的方法.分享给大家供大家参考,具体如下: 如果你在使用ThinkPHP框架的时候不想采用TP自带的模版系统,而使用第三方的模版系统,你有很多其他的选择,在这里我仅介绍Smarty这种比较官方,而且比较强大的模版系统. 由于Smarty兼容PHP4,因此,它的效率会相对低一点点,这个低只是相对的,估计等Smarty啥时候正式放弃PHP4的时候,效率可能会上很大一个台阶. 在TP框架的PlugIns目录下面,有一个SmartTemplate目录
-
ThinkPHP路由详解
有了基本配置,我们就可以来访问我们的应用默认首页了.进入到项目目录,可以直接使用PHP内置服务器来开始访问,比如: php -S localhost:8999 浏览器输入localhost:8999就可以看到ThinkPHP的默认首页了:一个笑脸. 在这里,我们访问到的是ThinkPHP自带的默认入口文件index.php也就是访问到的是IndexController的index()方法,这是因为ThinkPHP默认设置: 'DEFAULT_CONTROLLER' => 'Index' 如果你查
-
ThinkPHP的MVC开发机制实例解析
ThinkPHP是目前国内应用非常广泛的一款MVC开发框架.本文就以实例形式解析ThinkPHP的MVC开发机制.相信会给大家一定的启发作用.具体分析如下: 一.概述: MVC框架解析如下: M Model层 模型:就是数据库操作类(通过数据库操作类去操作各个表) V View层 视图:指模版. C Control层 控制器:就是通过控制器来实现模版,模型之间的控制关系. 二.实例分析: 1.ACTION 控制器: 位置 D:\www\aoli\
-
thinkPHP查询方式小结
本文实例总结了thinkPHP查询方式.分享给大家供大家参考,具体如下: 一.普通查询方式 1. 使用字符串查询: 复制代码 代码如下: $m->where(' id=1 and name="roge" ')->find(); 这种方法存在一个缺点,就是当数据表中的查询字段为字符串时,需要在字段值中加入引号. 2. 使用数组的方式(推荐使用) $data['name']="adfa"; $data['id']=3; $data['_logic']=&qu
-
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
复制代码 代码如下: <?php //thinkphp 路由定义规则 $route = array( 'news/:action/:year\d/:month/:day'=>'news/read?year=:2&month=:3&day=:4', 'news/:action^delete|update|insert/:year\d/:month/:day'=>array( 'news/read?extra=:2&status
-
thinkPHP中分页用法实例分析
本文实例讲述了thinkPHP中分页用法.分享给大家供大家参考,具体如下: 拿一个实例来说吧 action页面: public function show(){ import("ORG.Util.Page"); //导入分页类 $news=D("News"); $count = $news->where('`content_type`='.$id)->count(); //查询记录的总条数 $p = new Page($count, 10); $list
-
改写ThinkPHP的U方法使其路由下分页正常
ThinkPHP3.1.3在启用路由的情况下,其分页地址不是路由的地址,由于thinkphp3.2.1的代码也没有修复,很多人都遇到了这一问题,本文采纳olcms的修改方法解决这一问题,特别感谢phper jack对此做出的贡献,具体解决办法是修改ThinkPHP的functions.php的U方法,在287行左右: if(!empty($vars)) { // 添加参数 foreach ($vars as $var => $val){ if('' !== trim($val)) $url .=
随机推荐
- 最新手机号码、电话号码正则表达式
- bootstrap PrintThis打印插件使用详解
- 监控 url fragment变化的js代码
- bootstrap下拉列表与输入框组结合的样式调整
- js实现的常用的左侧导航效果
- 比较完整的 asp.net 学习流程
- C#编程自学之数据类型和变量二
- php删除左端与右端空格的方法
- 深入分析PHP优化及注意事项
- PHP中cookies使用指南
- PHP中strlen()和mb_strlen()的区别浅析
- js中的preventDefault与stopPropagation详解
- Linux base shell重定向详解
- 实例讲解C++编程中lambda表达式的使用
- 将MongoDB加入到Windows的本地服务项的方法
- javascript 获取所有id中包含某关键字的控件的实现代码
- this和执行上下文实现代码
- AngularJs ng-change事件/指令的用法小结
- C#数字图象处理之肤色检测的方法
- 深入理解Java垃圾回收机制以及内存泄漏