>  기사  >  백엔드 개발  >  THINK PHP中 URL路由

THINK PHP中 URL路由

WBOY
WBOY원래의
2016-06-23 14:31:00874검색

ThinkPHP里面会根据当前?URL来分析要执行的模块和操作。返个分析工作由URL调度器来实现,官方内置了Dispatcher类来完成该调度。在Dispatcher调度器中,会根据
http://domainName/appName/moduleName/actionName/params
来获取当前需要执行的项目(appName)、模块(moduleName)和操作(actionName),在某些情?下,appName可以不需要(通常是网站的首页,因为项目名称可以在入口文件中指定,这种情况下,appName就会被入口文件替代),另外针对不同的URL模式设置系统会进行不同的智能识别。

 

 

其实是定位到myApp项目的Index模块的index操作,因为系统在没有指定模块和操作的时候,会执行默认的模块和操作,这个在ThinkPHP的惯例配置里面是Index模块和index操作。因此下面的URL和上面的结果是相同的:

http://localhost/myApp/index.php/Index/index/ 

通过项目配置参数,我们可以改变这个默认配置。

系统还支持分组模式和URL路由的功能,这些都能够带来URL的不同体验。

 

在thinkphp中第一个实例的执行过程分析:

首先程序入口是Myapp下的index.php文件,其中require(THINK_PATH."/ThinkPHP.php");是对ThinkPHP.php 的调用包含了常用的配置调试信息,然后程序会从APP::run();开始执行,找到需要的类,相关的文件即默认的Lib/action目录下你声明的类,因为THINKPHP 是根据名称判断类的,如果你写了类那么格式就应该是:**.class.php格式的。找到相关的类后如果不指定会默认执行类中的index()函数。

以上过程的URL传递是:http://localhost/Myapp/index.php/index/index

其中index.php就是入口文件,随后的index是你定义的index名字的类,最后一个index是你定义的index类中的index方法。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP函数之CURL다음 기사:PHP中session详解