ThinkPHP5.1学习--URL 解析模式

一.URL 解析

  1. ThinkPHP 框架非常多的操作都是通过 URL 来实现的;
  2. http://serverName/index.php/模块/控制器/操作/参数/值…;
  3. index.php 为入口文件,在 public 目录内的 index.php 文件;
  4. 模块在 application 目录下默认有一个 index 目录,这就是一个模块;
  5. 而在 index 目录下有一个 controller 控制器目录的 Index.php 控制器;
  6. Index.php 控制器的类名也必须是 class Index,否则错误;
  7. 而操作就是控制器 class Index 里面的方法,比如:index 或 hello;
  8. 那么完整形式为:public/index.php/index/index/index
  9. 官方给的默认模块,默认控制器,默认操作都是 index,所以出现四个 index;
  10. 而操作还另给了一个带参数的方法:hello,如下:
  11. 那么完整形式为:public/index.php/index/index/hello/name/Lee
  12. 为了更清晰的了解 URL 路径的执行过程,我们自己创建一个完全不重复的 URL;
  13. 在 application 目录下创建一个 test 目录(模块);
  14. 在 test 模块下创建控制器目录 controller,并在旗下创建 Abc.php(控制器);
  15. 创建如下代码:
<?php
namespace app\test\controller;
class Abc
{
public function eat($who = '隔壁老王')
{
return $who.'吃饭!';
}
}
  1. 代码中 eat 是方法(操作),$who 是参数,'隔壁老王’是值;
  2. 完整形式为:public/index.php/test/abc/eat/who/主人老李
    二.URL 模式
  3. 上个要点已经了解了 URL 所有访问规则,通过创建 test 模块更加了解;
  4. 如果 wamp 环境没有开启伪静态,那么 ThinkPHP 不支持 URL 重写;
  5. 没有开启 URL 重写,那只能使用 PATH_INFO 模式,如下:
  6. public/index.php?s=test/abc/eat/who/主人老李;
  7. 我们这里是 Apache,其它环境请,如果你使用了,请参考手册;
  8. 打开 httpd.conf 文件,加载 mod_rewrite.so,即去掉前面的#号;
  9. 将下面代码,放入入口文件 index.php 同级目录下的.htaccess;
  10. 上一步,框架本身已经做好了,那其实就是第 6 步一步,然后重启环境;
  11. 此时的 URL 重写,可以省略 index.php 了,路径如下:
  12. public/test/abc/eat/who/主人老李
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值