本学习课程以学习为目的一周三篇持续更新,学习代码更新在码云公开仓库,不足之处欢迎朋友们前来指导,写作不易请多多支持,本人创作新手写的不好,不喜勿喷,谢谢大家。
学习目标
- url解析
- url兼容模式
- 控制器定义
- 渲染输出
- 基础控制器
- 空控制器
- 多级控制器
一.url解析
码云编号:d3d526f18ec814574ae88504a08d0eda5bafd0b3
- thinkPHP框架的许多操作都是通过url来实现的,官方是这么介绍的:
6.0的URL访问受路由影响,如果在没有定义或匹配路由的情况下(并且没有开启强制路由模式的话),则是基于: http://serverName/index.php(或者其它入口文件)/控制器/操作/参数/值… 如果使用自动多应用模式的话,URL一般是 http://serverName/index.php/应用/控制器/操作/参数/值...
我们的实际操作是
- 单应用http://tp.com/index.php/控制器/方法/参数/值... 多应用http://tp.com/index.php/应用/控制器/方法/参数/值...
- 先讲单应用:这里http://tp.com是指域名地址,比如 127.0.0.1:8000 或 localhost/Tp60-learning/,index.php是应用根目录public下的index.php即入口文件,
控制器 我们在应用根目录app目录下的controller控制器文件夹下新建admin.php控制器文件。地址则写为admin, 方法 例如admin控制器的hello方法,参数和值 例如hello方法的默认参数name 和空值
- 那么完整的地址则为 http://tp.com/index.php/admin/hello/name/worid 网页输出“hello,worid”
- 多应用:由于thinkPHP默认是单应用模式,多应用的话需要作为扩展安装,为避免混淆,后边再讲
- URL重写:可以通过URL重写隐藏应用的入口文件
index.php
(也可以是其它的入口文件,但URL重写通常只能设置一个入口文件),下面是相关服务器的配置参考:在httpd.conf 配置文件中加载了 mod_rewrite.so 模块将AllowOverride None 将选项