• 5


    获取请求/响应对象

    • 请求对象 Request Object
      使用 依赖注入 的方式来获取请求对象 $request
    use IlluminateHttpRequest;
    Route::get('/request', function (Request $request) {
        // $request只是个形参, 不一定非要使用 $request
        dd($request);  // dd是一个助手函数
    });
    
    • 响应对象 Response Object
      使用助手函数来获取响应对象
    use IlluminateHttpRequest;
    Route::get('/response', function () {
        // $request只是个形参, 不一定非要使用 $request
        $response = response();
        dd($response);
    });
    

    Request 对象获取请求信息

    • method() 获取请求的方法,返回请求类型字符串
    • isMethod('post') 判断请求方法, 返回布尔值
    • path() 获取路径信息, 返回路径信息字符串
    • url() 获取完整的请求url, 返回url字符串
    • port() 获取请求的端口, 返回端口号 integer
    • cookie('key') 获取cookie信息
    • ip() 获取请求的ip, 返回ip字符串
    use IlluminateHttpRequest;
    public function getRequestPath(Request $request) {
        // http://www.study.io/user/edit/3:80
    
        $request->method(); // GET
        $request->isMethod('post'); // false
        $request->path(); // user/edit/3
        $request->url();  // http://www.study.io/user/edit/3:80
        $request->port(); // 80
        $request->cookie('name');
        $request->ip();
    }
    

    Request 对象获取上传文件信息

    • has('file') 判断是否有某个文件,返回布尔值
    • file('file') 获取上传的文件, 返回一个包含文件信息的对象
    • isValid() 判断文件是否上传成功, 返回布尔值
    • path() 获取上传文件的路径, 返回绝对路径字符串
    • extension() 获取上传文件的后缀
    • move() 移动文件
    use IlluminateHttpRequest;
    public function getFiles(Request $request) {
        if ( $request->has('file') ) {
            $fileObject = $request->file('file');
            $bool = $fileObject->isValid();
            $path = $fileObject->path();
            $ext  = $fileObject->extension();
            $fileObject->move('upload/path', 'fileName'); // bool
        }
    }
    

    基本响应

    • return 字符串 / 数组
    • response('message', httpStatusCode) Response 对象
    • header('key','value') 返回信息并设置响应头
    • withHeaders(['key'=>'value']) 设置多个响应头信息
    • cookie('key', 'value') 添加cookie信息到响应

    如果是字符串或者数组,可以使用 return 语句来响应

    Route::get('/response', function () {
        // return 'strin';
        // return [ 'name' => 'alex', 'age'  => 18 ];
        // return response('message', 200);
        // return response()->json(['name' => 'alex', 'age' => 18]);
        // return response('<h1>hello world</h1>', 200)->header('content-type', 'text/html');
        /*
        return response('<h1>你好, 世界!</h1>', 200)->withHeaders([
            'content-type' => 'text/html;charset=UTF-8',
            'test-content' => 'hello world',
        ]);
        */
        // return response('response success', 200)->cookie('name', 'user1', 10);
        return redirect('/');
    });
    

    重定向响应

    • redirect() 重定向到指定的路由
    • route() 重定向到指定名称的路由
    • action() 重定向到控制器
    • away() 重定向到外部域名
    • with() 重定向并且带session数据
    Route::get('/redirect', function () {
        // return redirect('/admin/user/create');
        // return redirect()->route('login');   
        // return redirect()->action('adminUserControllercreate');
        // return response()->away('http://wwww.baidu.com');
        // return view('admin.user.create'); // 或者 return response()->view('admin.user.create');
        return response()->with('key', 'value')->with(['k'=>'v', 'k2'=>'v2']);
    });
    

    其他响应

    • view() 视图响应
    • json() json 响应
    • jsonp() JSONP 响应
    • download() 文件下载响应
    • file() 文件响应
    Route::get('/response/other', function () {
        // return response()->json(['name' => 'tom', 'age' => 18]);
        // return response()->jsonp($request->input('callback'), ['name' => 'tom', 'age' => 18]);
        // return view('admin.user.create');  // 或者 return response()->view('admin.user.create');
        // return response()->download($filePath);
        // return response()->file($filePath, $headers)
        // 
    });
    
  • 相关阅读:
    C#中添加文本框的上标及文字大小
    综采工作面设备接替计划管理系统
    一位年轻女董事长的27条忠告
    开发人员一定要加入收藏夹的网站
    哈佛图书馆墙上的名训
    加密、解密.NET字符串
    C#文件上传下载
    DotNetNuke3.0.8 简体中文语言包(可直接导入版)发布
    DNN的Core Team
    DotNetNuke3.0.8文件管理器的错误及解决方法
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581615.html
Copyright © 2020-2023  润新知