4.laravel基础(四)Controller
Request
- laravel中的请求使用的是symfony/http-foundation组件
public function request1(Request $request) { //取值 echo $request->input('name'); echo $request->input('name1', '未知'); if($request->has('name')){ echo $request->input('name'); }else{ echo '无该参数'; } $request->all(); //获取所有参数 //判断请求类型 echo $request->method(); //get post if($request->isMethod('POST')){ echo 'Yes'; }else{ echo 'No' } $bool = $request->ajax(); //判断是否是ajax过来的数据 $request->is('student/*'); //判断请求的url是否包含student //获取当前的url $request->url(); }Session
- http是无状态的,session是一种保存用户数据的方法
- laravel支出多种session后端驱动,memcached,radis,和数据库的后端驱动,默认使用‘file’的session驱动
- session的配置文件在config/session.php中
- 使用session的三种方式
- HTTP request的session()方法
$request->session()->put('key1', 'value1'); $request->session()->get('key1'); - session()辅助函数
session()->put('key2','value2'); session()->get('key2'); - Session facade
Session::put('key3', 'value3'); Session::get('key3'); Session::get('key4', 'default'); //如果没有取默认值 Session::put(['key4' => 'default']); //以数组形式 Session::push('student', 'sean'); //以数组形式存储 Session::push('student','imooc'); // 以数组形式存储 Session::pull(‘student','default'); //使用一次,然后清空 Session::all(); // 取出所有值if(Session:has('key1')){ $res = Session::all(); } else { echo 'no session'; } // 删掉session Session::forget('key1'); // 删除所有 Session::flush(); // 暂存,第一次存在,再访问,不存在 Session::flash('flash-key', 'flash-value');Response
- 字符串
- 视图
- Json
$data = [ 'errCode' => 0, 'errMsg' => 'success', 'data' => 'sean' ]; return response()->json($data); //返回json
- HTTP request的session()方法
- 重定向
redirect('url2'); redirect('url2')->with('message','我是快闪数据'); // 第一次显示这个信息,再刷新就没了 redirect()->action('StudentController@session2')-with('message', '我是快闪数据'); redirect()->route()-with('message', '我是快闪数据); redirect()->back(); //返回上一个页面Middleware
- 中间件作用

浙公网安备 33010602011771号