2 获取、设置请求数据

获取当前的请求信息,可以使用\think\Request 类

使用前应在文件中引用Request类

这里以index控制器来设置,打开tp5/app/index/controller/index.php

使用Request类有两种方式

$request=Request::instance;

或者是

$request=request();

这里以第一种方式为例:

<?php

namespace app\index\controller;
use think\Request;//引入Request类

class Index
{
    public function index()
    {
        $request = Request::instance();
        echo '当前的域名是' . $request -> domain() .'<br/>';
        echo '当前的入口文件' . $request ->baseFile() .'<br/>';
        echo '当前的URL地址' . $request ->url() .'<br/>';
        echo '当前完整的URL地址' . $request ->url(true) .'<br/>';
        echo '当前的URL地址,不含QUERY_STRING' . $request ->baseUrl() .'<br/>';
        echo '当前的ROOT地址' . $request ->root() .'<br/>';
        echo '当前url访问的ROOT地址' . $request ->root(true) .'<br/>';
        echo '获取url地址中的PATH_INFO信息' . $request ->pathinfo() .'<br/>';
        echo '获取url地址中的PATH_INFO信息,不含后缀' . $request ->path() .'<br/>';
        echo '获取url地址中的后缀信息' . $request ->ext() .'<br/>';
        echo '当前的模块名称是' . $request->module() .'<br/>';
        echo '当前的控制器名称是' . $request->controller() .'<br/>';
        echo '当前的操作名称是' . $request->action() .'<br/>';
        echo '请求方法' . $request->method() . '<br/>';
        echo '资源类型' . $request->type() . '<br/>';
        echo '访问ip类型' . $request->ip() . '<br/>';
        echo '是否为ajax请求' . var_export($request->isAjax(),true) . '<br/>';
        echo '请求参数' .dump($request->param())
                        .dump($request->only(['name']))
                        .dump($request->except(['name']));

        echo dump(input()) . '<br/>'; //获取请求变量
        echo  dump(input('?get.name')) . '<br/>'; //bool值,是否存在$_GET['name']
        echo  dump(input('get.name')) . '<br/>'; //获取$_GET['name']

        echo input('name') . '<br/>'; //直接获取name
        echo input('web/s') . '<br/>'; //修饰符,默认为s(即转为字符串),
        echo input('web/b') . '<br/>'; // /b是转换为布尔
        echo input('pass/d') . '<br/>'; // /d是转换为整型
        //修改变量
        $request->get(['name'=>'tom']); //将$_GET['name']的值改为tom
        echo input('name') . '<br/>'; //重新输出$_GET['name']
        echo $request->isAjax(). '<br/>'; //是否为ajax请求
        echo dump($request->header()); //打印header信息
    }

}

其他内容请参考thinkphp5完全开发手册

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。