Laravel5 控制器

Request

一、取值

1.取值

echo $request->input('name','这是默认值');

2.取得所有值

$array=$request->all();

3.判断值是否存在

if ($request->has('name')){
    echo $request->input('name','默认值');
}else{
    echo '不存在该值';
}

二、判断请求类型

1.直接返回请求类型

echo $request->method();

2.判断是否为某种请求类型

$bool=$request->isMethod('get');

3.判断是否为ajax请求

$bool=$request->ajax();

4.判断是否为指定的url路径

// *代表request下任意路径
$bool=$request->is('request/*');

Session

使用session之前,先要开启session。在laravel中,配置如下:

Route::group(['middleware'=>['web']],function (){
    Route::get('session1','StudentController@session1');
    Route::get('session2','StudentController@session2');
});

一、HTTP Request session

1.赋值

$request->session()->put('key1','val1');

2.取值

echo $request->session()->get('key1');

二、Session辅助函数

1.赋值

session()->put('key1','val1');

2.取值

echo session()->get('key1');

三、Session类

1.赋值

// 存单个值
Session::put('key3','val3');
// 以数组形式存
Session::put(['key4'=>'val4']);
// 存session数组
Session::push('student','tom');
Session::push('student','mary');

2.取值

// 取单个值
echo Session::get('key3','默认值');
// 取session数组
$array=Session::get('student','默认值');
// 取一次之后删除session
$array=Session::pull('student','默认值');
// 取出所有session值
$array=Session::all();

3.判断是否存在指定session

if (Session::has('key2')){
  $array=Session::all();
  dd($array);
}else{
  echo '不存在';
}

4.删除指定session

Session::forget('key1');

5.清空session

Session::flush();

5.暂存session(只存储一次,下次访问消失)

Session::flash('flash-key','flash-val');

Response

Response响应的常见类型:字符串、视图、json、重定向

一、响应json

$data=[
    'errCode'=>0,
    'errMsg'=>'success',
    'data'=>'tom'
];
// response辅助函数
return response()->json($data);
// response类
return Response::json($data);

二、重定向

1.重定向到指定页面

路由设置

Route::get('news','StudentController@news')->name('iNews');
Route::get('response','StudentController@response');

控制器下的方法

public function response()
{
   // 1.url形式
   return redirect('news')->with('message','一次性数据');
   // 2.action
   return redirect()->action('StudentController@news')->with('message','一次性数据');
   // 3.route
   return redirect()->route('iNews')->with('message','一次性数据');
}
public function news()
{
    return Session::get('message');
}

2.重定向到上级页面

return redirect()->back();

猜你喜欢

转载自www.cnblogs.com/toney-yang/p/9189831.html