-
效果
-
过程
笔记:
URL访问
1.首先在application目录下创建一个自定义模块(即在application目录下创建一个user文件夹)
再再user文件夹下创建一个controller文件夹,用它来存放控制器,在controller文件夹下创建一个控制器文件,叫Manger.php
Manger.php代码如下:
<?php
//首先写上命名空间,控制器的命名空间和绝对路径一致的
namespace app\user\controller;
//类名与控制器的文件名字必须一致
class Manger
{
public function add($n=0, $m=0)
{
return '$n + $m ='. ($n+$m);
}
}
- 用传统方法访问,在浏览器输入(tp5.com/index.php?m=user&c=manger&a=add&n=10&m=30)[访问不了]
TP5支持的URL模式
1.传统模式(已经不再支持,请不要再使用)
如: http://tp5.com/index.php?m=index&c=User&a=del&id=15
入口文件的参数以问号后开始(?)
m:代表模块(module)
c:代表控制器(controller)
a:代表方法(action)
在后面就是所需要的参数
- 怎么才能访问所写的文件?
//下面代码意思//user:代表当前模块user, 该模块下有一个控制器manger,然后访问manger下的add方法,第一个参数是n,设置20,第二个参数m设置50
如下(在浏览器输入): tp5.com/index.php/user/manger/add/n/20/m/50
能看到效果如: m =70
2.这种方式叫(PATH_INFO方式推荐使用):
-2 PATH_INFO:
如: http://tp5.com/index.php/index/user/add/id/15
意思是: PATH_INFO的方式的URL也是从协议开始,然后后面跟上域名,域名后面是入口文件,入口文件后依次为模块,控制器,方法;然后是依次传入的参数
3.如果系统不兼容PATH_INFO,还可以用 兼容模式(根据传参分为二种):
http://tp5.com/index.php?s=index/user/add&id=15(参数以传统方式传入 用 & 符连接 )
http://tp5.com/index.php?s=index/user/add/id/15(参数以PATH_INFO方式)
?后的s是查询字符
如: http://tp5.com/index.php?s=user/manger/add/n/20/m/50 (PATH_INFO方式传参)
如: http://tp5.com/index.php?s=user/manger/add&n=200&m=500 (典型兼容模式)
推荐使用PATH_INFO方式
URL大小写问题
1.默认情况下,URL是不区分大小写的;
如: http://tp5.com/index.php?s=USER/Manger/add&n=200&m=500
2.URL里面的模块/控制器/操作名会自动转换为小写;
3.控制器在最后调用的时候会转换为驼峰法处理.
代码如:
class UserDemo
{
public function list($id='')
{
//操作方法代码
}
}
//控制器文件名用两个单词时候如(MangerUser)必须是:UserDemo.php ; 或 MangerUser.php
//控制器文件名用两个单词时候如(MangerUser)访问控制器必须是: user_demo 或 manger_user
例如: http://tp5.com/index/user_demo/list/id/10
改:方法名的类类名MangerUser, 文件名MangerUser
http://tp5.com/index.php?s=USER/manger_user/add&n=2000&m=500 (典型兼容模式)
http://tp5.com/index.php?s=user/manger_user/add/n/20/m/500 (PATH_INFO方式)
http://tp5.com/index.php/user/manger_user/add/n/20/m/5000 (PATH_INFO方式)
总结:主要介绍了TP5中URL的基本常识和命名规范,在请求处理和路由定义课程中.后面详细介绍