目录结构如下:
关键的代码如下:
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中。