use think\Controller;
use think\facade\Request;//导入请求对象的静态代理
/*
* 正常情况下,控制器不依赖于父类controller.php
* 推荐继承父类,可以很方便的使用在父类中封装好的一些方法和属性
* Controller.php 没有静态代理 可在thinkphp\base.php中查看
*控制器中的输出,字符串全部用return 返回,不要用echo,很low
* 如果输出的是复杂类型,我们可以用dump()函数
* dump() ===> echo '<pre>';print_r($arr);
* 默认输出的格式为html,可以指定为其他格式:json
*
* 1、传统:new Request
* 2、静态代理:think\facade\Request
* 3、依赖注入:Request $request
* 4、父类Controller中的属性$request :$this->request
* */
class Demo3 extends Controller
{
public function test(){
//创建一个请求对象Request的静态代理
dump(Request::get());//静态代理调用动态方法get
//传统方式,不使用静态代理
$request = new \think\Request();
dump($request->get());
}
//依赖注入 \think\Request $request ===>$request = new \think\Request();
public function test2(\think\Request $request){
dump($request->get());
}
//使用父类controller中属性$request $this->request===>new Request()
public function test3(){
dump($this->request->get());
}
//json 格式输出
public function test4(){
return json_encode($this->request->get());
}
}
thinkphp5.1静态代理
最新推荐文章于 2022-08-17 18:44:37 发布