thinkphp里面会根据当前?url来分析要执行的模块和操作。返个分析工作由url调度器来实现,官方内置了dispatcher类来完成该调度。在dispatcher调度器中,会根据
http://domainname/appname/modulename/actionname/params
来获取当前需要执行的项目(appname)、模块(modulename)和操作(actionname),在某些情?下,appname可以不需要(通常是网站的首页,因为项目名称可以在入口文件中指定,这种情况下,appname就会被入口文件替代),另外针对不同的url模式设置系统会进行不同的智能识别。
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
其实是定位到myApp项目的Index模块的index操作,因为系统在没有指定模块和操作的时候,会执行默认的模块和操作,这个在ThinkPHP的惯例配置里面是Index模块和index操作。因此下面的URL和上面的结果是相同的:
http://localhost/myApp/index.php/Index/index/
通过项目配置参数,我们可以改变这个默认配置。
系统还支持分组模式和URL路由的功能,这些都能够带来URL的不同体验。
立即学习“PHP免费学习笔记(深入)”;
在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方法。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号