第二三章 笔记(环境、模块、路由) 20181228

1.API调试工具PostMan
不依赖前端已经写好的代码来测试接口数据。
单元测试(条件允许下):在代码比较长的情况下,学会单元测试,测试bug时候很实用

2.tp5

2.1 层次结构
入口->应用(多个模块)
应用下MVC
业务层 M
客户端->C C调M M返C C返V V->客户端

2.2 URL

POTH_INFO
不区分大小写
http://serverName/index.php/module/controller/action/[param/value...]
http://localhost/public/index.php/index/index/index
缺点
太长
暴露了服务器文件结构
不够灵活
不能很好的支持URL语义化(最大缺陷,尤其是API)
兼容模式
http://serverName/index.php?=module/controller/action/param/value

2.3 路由的两种展现方式

官方最初的方式
pattern’ => [
‘name’ => ‘\w+’,
],
‘[hello]’ => [
‘:id’ => [‘index/hello’, [‘method’ => ‘get’], [‘id’ => ‘\d+’]],
‘:name’ => [‘index/hello’, [‘method’ => ‘post’]],
],

动态注册
use think\Route;
Route::rule(‘login’,‘admins/Account/login’);

路由三种模式

混合模式(官网默认开启)
POTH_INFO(关闭混合路由后)
强制路由(API使用比较规范)

2.4 定义路由

Route::rule(‘路由表达式’,‘路由地址’,‘请求类型’,‘路由参数(数组)’,‘变量规则(数组)’);(后面3个可缺省)
类型:GET,POST,DELETE,PUT,*(默认)【Postman测试】
Route::rule(‘login’,‘admins/Account/login’,‘GET’,[‘https’=>false]);
//Route::rule(‘login’,‘admins/Account/login’,‘GET|POST’,[‘https’=>false]);
Route::get(‘login/:id’,‘admins/Account/login’);
Route::rule(‘hello’,‘admins/Test/hello’);
Route::post();
Route::any();

test
Route::get(‘hello’,‘admins/Test/hello’);
在这里插入图片描述在这里插入图片描述
Route::post(‘hello’,‘admins/Test/hello’);
在这里插入图片描述

Route::get(‘hello/:id’,‘admins/Test/hello’);
public function hello( i d , id, id,name)
{
echo i d ; e c h o ′ &lt; b r &gt; ′ ; e c h o ′ n a m e = ′ . id; echo &#x27;&lt;br&gt;&#x27;; echo &#x27;name=&#x27;. id;echo<br>;echoname=.name;
// return ‘hello,hui’;
}
在这里插入图片描述
在这里插入图片描述

方法中做变量自动对应(第一种)
public function hello($id,$name,$sex)
	{
		echo $id;
		echo '<br>';
		echo 'name='.$name;
		echo '<br>';
		echo 'sex='.$sex;		
		// return 'hello,hui';
	}

在这里插入图片描述

借助Request对象(第2种)
//获取指定参数变量
$id = Request::instance()->param(‘id’);
//获取所有参数变量
$all = Request::instance()->param();
获取URL?后面的参数变量
$all = Request::instance()->get();
获取URL里面的参数变量
$all = Request::instance()->route();

	public function hello()
	{
		$all = Request::instance()->param();
		var_dump($all);
		// 	$id = Request::instance()->param('id');
		// $name = Request::instance()->param('name');
		// $sex = Request::instance()->param('sex');
		
		// echo $id;
		// echo '<br>';
		// echo 'name='.$name;
		// echo '<br>';	
		// echo 'sex='.$sex;	
	}

在这里插入图片描述

		//还有input助手函数(第3种)
		$all = input('param.');(数组)
		$all = input('param.name');
		$all = input('post.');
		$all = input('get.name');
		//依赖注入(强语言中使用的比较多)
		public function hello(Request $request)
		{	
			// $all = Request::instance()->param();
			$all = $request->param();
			var_dump($all);
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值