PHP笔记-laravel中Request和Session相关使用

x33g5p2x  于2022-05-23 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(436)

目录结构如下:

关键的代码如下:

web.php,路由添加如下:

Route::prefix('student')->group(function(){

	......
	......
	......

    Route::get('requestTest', 'StudentController@requestTest');

    Route::get('sessionTest1', 'StudentController@sessionTest1');
    Route::get('sessionTest2', 'StudentController@sessionTest2');
});

StudentController.php

<?php

namespace App\Http\Controllers;

use App\Student;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;

class StudentController extends Controller{

	......
    ......
    ......

    public function requestTest(Request $request){

        echo $request->input('name');
        echo $request->input('age', '未知');

        if($request->has('sex')){

            echo $request->input('sex');
        }
        else{

            echo '无该参数';
        }

        $res = $request->all();
//        dd($res);

        if($request->isMethod('GET')){

            echo 'Yes';
        }
        else{

            echo 'No';
        }

        $res = $request->ajax();
        var_dump($res);

        $res = $request->is('student/*');
        var_dump($res);

        return 'over';
    }

    public function sessionTest1(Request $request){

        @session_start();

        //方法1
//        $request->session()->put('key1', 'value1');

        //方法2
//        session()->put('key2', 'value2');

        //方法3
        Session::put('key3', 'value3');
    }

    public function sessionTest2(Request $request){

        @session_start();

        //方法1
//        echo $request->session()->get('key1');

        //方法2
//        echo session()->get('key2');

        //方法3
        echo Session::get('key3');
    }
}

要注意的地方:

①laravel中的请求使用的是sysfony/http-foundation组建;

②请求里面存放了$_GET,$_POST,$_COOKIE,$_FILES,$_SERVER等数据;

③用于HTTP协议是无状态(Stateless)的,所以session提供一种保存用户数据的方法。

④laravel职称了多种session后端驱动,并提供API。内置了Memcached、Redis、数据库驱动,默认使用file。

⑤session的配置文件在config/session.php中。

开发者涨薪指南

48位大咖的思考法则、工作方式、逻辑体系

相关文章