ThinkPHP5路由完全指南 - (EPUB全文下载)
文件大小:0.64 mb。
文件格式:epub 格式。
书籍内容:
目 录
(零)前言
(一)路由初体验
(二)执行流程
(三)路由变量
(四)路由地址
(五)路由分组
(六)别名路由
(七)资源路由
(八)路由生成
(九)路由高级
(十)域名路由
(十一)路由绑定
(十二)路由实例
附录A:路由速查表
附录B:常见问题集
(零)前言
ThinkPHP官方出品,入门
TP5
必读系列(二)
>《路由完全指南》
作 者:流年
最后更新:2017-7-5
概述
本系列文档版权归
ThinkPHP
官方所有,未经授权,禁止任何方式转载和下载,侵权必究!
ThinkPHP5作为一个全新的版本,重构后的路由功能可圈可点,是5.0的一大亮点,本指南系列为您详细介绍5.0路由的用法,并进行深入剖析其内部实现原理,助您完全掌握路由。
主要内容
由浅入深的介绍了路由的基本用法及高级技巧,为您揭开5.0路由的神秘面纱。
章节及完成情况:(
√
表示已经完成)
(一)路由初体验
√
(二)路由执行流程
√
(三)路由变量
√
(四)路由地址
√
(五)路由分组
√
(六)别名路由
√
(七)资源路由
√
(八)路由生成
√
(九)路由高级
√
(十)域名路由
√
(十一)路由绑定
√
(十二)路由实例 (更新中~)
附录A:路由速查表(更新中~)
附录B:路由常见问题(更新中~)
本文内容有部分内容需要使用最新
5.0.2
版本。
阅读对象
本指南的阅读对象是对
ThinkPHP5
有基本的认识并且希望深入了解和使用路由的开发者,讲述的内容需要你已经掌握下面的基础知识,否则可能会有所困惑,事倍功半。
我们假设你已经了解:
如何安装框架并配置
Vhost
;
如何定义5.0的控制器;
如何正确使用命名空间;
如何正确访问一个操作;
如果对以上内容还不掌握的话,建议首先阅读下本入门系列的第一部:《
ThinkPHP5.0快速入门
》。如果你已经用过路由,那么也不用担心会浪费你的时间,本指南会带你深入剖析路由的执行流程和了解一些你未必清楚的路由用法和技巧,因为路由实在是一个既简单而又非常复杂的东西。
更多阅读
官方出品的快速入门系列还包括:
ThinkPHP5.0快速入门
ThinkPHP5.0控制器从入门到精通
掌握ThinkPHP5.0数据库和模型
(一)路由初体验
路由初体验
一个典型的
ThinkPHP
应用的URL请求的执行过程通常是:
用户请求 -> 路由解析 -> 调度请求 -> 执行操作 -> 响应输出
路由在框架中的作用打个比方的话,路由好比是WEB应用的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你的URL请求地址更优雅,因为不会暴露实际的URL地址,也就意味着更安全,5.0的路由不仅仅只是支持路由到控制器的操作方法,甚至可以路由到任何的类或者闭包。
和
Laravel
等不同,框架本身不强制定义路由,默认情况下的如果没有定义任何路由规则或者没有匹配到任何的路由规则,则按照模块/控制器/操作的URL规范来解析(也就是系统默认的解析规则,这点看过ThinkPHP5.0快速入门的用户已经很清楚了,在此就不再多说)。
在本文后面的示例中,为了方便讲解,我们统一设置
vhost
访问,以
apache
为例的话定义如下(其它环境请自行百度):
DocumentRoot "/home/www/tp5/public"
ServerName tp5.com
把DocumentRoot修改为你本机tp5的
public
目录,并注意修改本机的
hosts
文件把
tp5.com
指向本地
127.0.0.1
。
在没有定义任何的路由规则之前,你的URL访问地址可能会是下面这样:
http://tp5.com/module/controller/action/name/value
如果你还不了解如何隐藏URL地址中的
index.php
可以参考官方开发手册的
URL重写
。
如果需要定义应用的路由规则,直接在
application/route.php
文件中添加路由规则即可(虽然你也可以在应用的公共文件中定义路由,但并不建议,后面会理解为什么)。
如果你自定义了
CONF_PATH
常量的话,路由配置文件的位置可能有所区别,请自行调整。
本节用一个
Hello,world!
的例子来体验下路由的使用,定义一个控制器类命名为
application/index/controller/Index.php
:
namespace app\index\controller;
class Index
{
public function hello()
{
return 'Hello,World!';
}
}
要访问
Index
控制器的
hello
操作方法的话,没有定义路由规则之前,访问的URL地址应该是:
http://tp5.com/index/index/hello
访问后浏览器输出结果为:
Hello,World!
下面我们来定义一个路由先:
Route::rule('hello','index/Index/hello');
定义后,我们就可以直接访问下面的地址:
http://tp5.com/hello
访问后浏览器输出结果和之前是一样的。
如果你够细心的话,会发现原来的URL地址
http://tp5.com/index/index/hello
已经禁止访问,这是由于5.0遵循唯一的URL地址设计。
很多时候操作方法都会有变量传入需要,例如给
hello ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » ThinkPHP5路由完全指南 - (EPUB全文下载)