php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > thinkphp5框架 >

thinkphp5请求对象

时间:2019-03-21 20:18来源:未知 作者:admin 点击:
当前的请求对象由think\Request类负责,在很多场合下并不需要实例化调用,通常使用依赖注入即可。在其它场合(例如模板输出等)则可以使用think\facade\Request静态类操作。 请求对象调用
当前的请求对象由think\Request类负责,在很多场合下并不需要实例化调用,通常使用依赖注入即可。在其它场合(例如模板输出等)则可以使用think\facade\Request静态类操作。
 
请求对象调用
构造方法注入
操作方法注入
Facade调用
助手函数
请求对象调用
在控制器中通常情况下有两种方式进行依赖注入。
 
构造方法注入
<?php
 
namespace app\index\controller;
 
use think\Request;
 
class Index 
{
    /**
     * @var \think\Request Request实例
     */
    protected $request;
    
    /**
     * 构造方法
     * @param Request $request Request对象
     * @access public
     */
    public function __construct(Request $request)
    {
$this->request = $request;
    }
    
    public function index()
    {
return $this->request->param('name');
    }    
}
如果你继承了系统的控制器基类think\Controller的话,系统已经自动完成了请求对象的构造方法注入了,你可以直接使用$this->request属性调用当前的请求对象。
 
<?php
 
namespace app\index\controller;
 
use think\Controller;
 
class Index extends Controller
{
    
    public function index()
    {
return $this->request->param('name');
    }    
}
操作方法注入
另外一种选择是在每个方法中使用依赖注入。
 
<?php
 
namespace app\index\controller;
 
use think\Controller;
use think\Request;
 
class Index extends Controller
{
    
    public function index(Request $request)
    {
return $request->param('name');
    }    
}
无论是否继承系统的控制器基类,都可以使用操作方法注入。
 
更多关于依赖注入的内容,请参考后续的依赖注入章节。
 
Facade调用
在没有使用依赖注入的场合,可以通过Facade机制来静态调用请求对象的方法(注意use引入的类库区别)。
 
<?php
 
namespace app\index\controller;
 
use think\Controller;
use think\facade\Request;
 
class Index extends Controller
{
    
    public function index()
    {
return Request::param('name');
    }    
}
该方法也同样适用于依赖注入无法使用的场合。
 
助手函数
为了简化调用,系统还提供了request助手函数,可以在任何需要的时候直接调用当前请求对象。
 
<?php
 
namespace app\index\controller;
 
use think\Controller;
 
class Index extends Controller
{
 
    public function index()
    {
        return request()->param('name');
    }
}
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
  • ThinkPHP5.2版本正式变更为6.0版本
  • 主要考虑到新的架构调整变化较大以及不支持无缝升级这两大原因,官方正式宣

  • thinkphp5响应输出
  • 大多数情况,我们不需要关注Response对象本身,只需要在控制器的操作方法中返

  • thinkphp5请求缓存
  • 请求缓存 支持请求缓存功能,支持对GET请求设置缓存访问,并设置有效期。 请

  • thinkphp5参数绑定
  • 参数绑定是把当前请求的变量作为操作方法(也包括架构方法)的参数直接传入

  • thinkphp5:HTTP头信息
  • 可以使用Request对象的header方法获取当前请求的HTTP请求头信息,例如: $info =

  • thinkphp5请求类型
  • 获取请求类型 在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、

  • thinkphp5输入变量
  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GE

  • thinkphp5请求信息
  • Request对象支持获取当前的请求信息,包括: 方法 含义 host 当前访问域名或者

  • Thinkphp5学习笔记
  • thinkphp5是一个全新的版本它不再兼容以前的版本,改动比较大。个人认为它很像

  • thinkphp5伪静态
  • URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设

猜你喜欢