zoukankan      html  css  js  c++  java
  • Thinkphp 请求和响应

    一. Request对象获取方法

    1. request() 助手函数获取

    2. thinkRequest 类获取

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

    <?php
    namespace appindexcontroller;
    
    use thinkRequest;
    
    class Index
    {
        /**
         * @param Request $request
         * @return string|void
         */
        public function index(Request $request)
        {
            #$request = request();
            #$request = Request::instance();
            return dump($request);
        }
    }

    二. Request 对象的使用方法  注Request的param方法获取的值包括post传输的值,使用时尽量使用$request->post('id')这种明确范围的方式

    <?php
    namespace appindexcontroller;
    
    use httpParams;
    use thinkRequest;
    
    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
           
    
        }
    }

     request和input使用filter过滤

    语法格式 $reuqest->post('key',100,'过滤函数'); //100为默认值  过滤函数可以自己定义,也可以用Php的 trim  intval 等函数

    自己定义fillter的使用示例

    <?php
    /* application/index/controller/filter.php */
    
    
    
     function change($text )
    {
        $tmp = intval($text);
        if((!is_int($tmp))){
            return 0;
        }
        return -$tmp;
    }
    <?php
    namespace appindexcontroller;
    
    use httpParams;
    use thinkRequest;
    import('filter',APP_PATH.'common',".php");
    class Index
    {
        /**
         * @param Request $request
         * @return string|void
         * @url http://localhost/news/5.html?name=jiang
         */
        public function index(Request $request)
        {
    
            dump('request -> '.$request->post('id',100,'intval'));
            /* 助手函数 */
    
            dump($request->post('id',100,'change'));
            dump(input('post.name','jiang','trim'));
    
        }
    
    }
  • 相关阅读:
    mysql cpu 占用高
    使用cron命令配置定时任务(cron jobs)
    python 获取时间
    linux 免密码登陆
    linux 查看登录日志
    shizhong
    正则(?is)
    python shell
    linux 时间设置
    java获取当前时间前一周、前一月、前一年的时间
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/11204571.html
Copyright © 2011-2022 走看看