THINK PHP中 URL路由
程序员文章站
2024-04-05 20:22:00
...
ThinkPHP里面会根据当前?URL来分析要执行的模块和操作。返个分析工作由URL调度器来实现,官方内置了Dispatcher类来完成该调度。在Dispatcher调度器中,会根据
http://domainName/appName/moduleName/actionName/params
来获取当前需要执行的项目(appName)、模块(moduleName)和操作(actionName),在某些情?下,appName可以不需要(通常是网站的首页,因为项目名称可以在入口文件中指定,这种情况下,appName就会被入口文件替代),另外针对不同的URL模式设置系统会进行不同的智能识别。
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方法。
上一篇: 设置虚拟主机出现的有关问题
下一篇: 网站的网页出现空白问题.
推荐阅读
-
THINK PHP中 URL路由
-
CI 框架去掉url 中index.php的方法,ciindex.php
-
php进行支付宝开发中return_url和notify_url的区别分析,支付宝notifyurl
-
thinkphp隐藏中url的index.php,thinkphpindex.php_PHP教程
-
php5.3以上版本中快速url重写的方法
-
php 中curl 循环往请求多个URL和多线程去请求多个URL的方法
-
php进行支付宝开发中return_url和notify_url的区别分析
-
php中解析带中文字符的url函数分享
-
CI框架中site_url()和base_url()的区别_PHP
-
php中filter函数验证邮箱、url和ip地址的实例