Thinkphp 请求和响应

一. Request对象获取方法

1. request() 助手函数获取

2. think\Request 类获取

3.利用框架注入Request对象  Request方法时单利方法 在think框架app类中会被实例化

<?php
namespace app\index\controller;

use think\Request;

class Index
{
    /**
     * @param Request $request
     * @return string|void
     */
    public function index(Request $request)
    {
        #$request = request();
        #$request = Request::instance();
        return dump($request);
    }
}

二. Request 对象的使用方法

<?php
namespace app\index\controller;

use http\Params;
use think\Request;

class Index
{
    /**
     * @param Request $request
     * @return string|void
     * @url http://localhost/news/5.html?name=jiang
     */
    public function index(Request $request)
    {
        /* 获取域名 */
        dump($domain = $request->domain());   # 返回域名 $domain = http://localhost
        dump($pathinfo= $request->pathinfo()); # 返回域名和?之间的值 $pathinfo = news/5.html
        dump($path = $request->path());         # $path = news/5

        /* 请求类型 */
        dump($method = $request->method());     # 返回请求方法 $method = GET;
        dump($request->isGet());              #判断是请求的方法类型 是判断的类型返回true 不是返回false
        dump($request->isAjax());             #

        /* 请求参数 */
        dump($id = $request->get("id"));    #get接收的值不包括 pathinfo 部分    这里返回 null
        dump($id = $request->param('id'));   # $id = 5
        dump($name = $request->param('name')); # $name = jiang
        #session("name",'jiangfeilong'); #设置session
        dump($session = $request->session()); #获取sssion对象 没设置session的化返回空数组
        dump($session_name = $request->session("name")); #返回session 的name的值
        dump($cookie = $request->cookie());   #获取cookie对象 返回cookie数组
        dump($phpSessId = $request->cookie('PHPSESSID')); #返回cookie的sessionId的值
        /* 利用助手函数获取url参数 */
        dump($id = input('id'));


        /* 获取模块 控制器 操作 */
        dump($module = $request->module());  #获取当前模块 这里时index
        dump($controller = $request->controller()); #返回当前控制器 这里是 Index类
        dump($action = $request->action()); #返回当前操作 这里返回的是index模块的Index类的index()方法

        /* 获取 url */
        dump($url = $request->url());  #返回 / 之后的 url  这里是 /news/5.html?name=jiang
        dump($baseUrl = $request->baseUrl()); # 返回 /和?号之间url的部分 这里是 /news/5.html
       

    }
}

猜你喜欢

转载自www.cnblogs.com/jiangfeilong/p/11204571.html