Laravel框架Request、Response及Session操作示例

本文实例讲述了Laravel框架Request、Response及Session操作。分享给大家供大家参考,具体如下:

Request操作

public function request(Request $request){
  //1.取值
  //echo $request->input('name');
  //echo $request->input('sex','未知');
  /*if($request->has('name')){
    echo $request->input('name');
  }else{
    echo '无该参数';
  }*/
  //获取所有的参数
  /*$res = $request->all();
  dd($res);*/
  //2.判断请求类型
  /*echo $request->method();
  if($request->isMethod('post')){
    echo 'Yes';
  }else{
    echo 'No';
  }*/
  //判断是不是ajax请求
  /*$res = $request->ajax();
  var_dump($res);*/
  //判读请求的路径
  /*$res = $request->is('User/*');
  var_dump($res);*/
  //获取当前的url
  //echo $request->url();
}

Response操作

public function response(){
  //响应json
  /*$data = [
    'errCode'=>0,
    'errMsg' =>'success',
    'data'  => 'yxh',
  ];
  return response()->json($data);*/
  //重定向
  //return redirect('Hello');
  //return redirect('Hello')->with('message','yxh');
  //return redirect()->action('UserController@Hello')->with('message','yxh');
  //return redirect()->route('Hello')->with('message','yxh');
  //返回上一个页面
  //return redirect()->back();
}

Session操作

//设置session里的值
public function session1(Request $request){
  //1.HTTP request session();
  /*$request->session()->put('key1','value1');
  echo $request->session()->get('key1');*/
  //2.session()
  /*session()->put('key2','value2');
  echo session()->get('key2'); */
  //3.session
  //存储数据到session
  //Session::put('key3','value3');
  //获取session里的数据
  //echo Session::get('key3');
  //不存在则获取默认的值
  //echo Session::get('key4','default');
  //以数组的形式存储数据
  //Session::put(['key4'=>'value4']);
  //把数据放到Session的数组中
  /*Session::push('user','yxh');
  Session::push('user','imooc');*/
  //取出数组的数据
  /*$res = Session::get('user','default');
  var_dump($res);*/
  //取出数据之后就把它删除
  /*$res = Session::pull('user','default');
  var_dump($res);*/
  //取出session中的所有制
  /*$res = Session::all();
  var_dump($res);*/
  //判断session中的某个值是否存在
  /*if(Session::has('key1')){
    $res = Session::all();
    dd($res);
  }else{
    echo '不存在';
  }*/
  //删除session中指定的值
  //Session::forget('key1');
  //清空所有session
  //Session::flush();
  //设置临时数据,只能访问一次,第二次访问就删除了
  //Session::flash('key-flash','flash');
}

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Laravel5.2使用Captcha生成验证码实现登录(session巨坑)

    最近有朋友要我帮忙弄一下laravel的验证码登陆,所以稍稍研究了一下.(本人都快忘了咋使用laravel了) 首先,安装laravel就不用在下赘述了吧,我的版本是5.2.45(注:laravel5.2.6以上的版本中间件可以自动加载),这还是挺重要的. 安装完成之后,你需要使用composer来加载你的Captcha,具体方法就是在你的composer.json中的require数组中加上"gregwar/captcha":"1.*"这行代码.然后嘞,就在你的项

  • Laravel如何使用Redis共享Session

    一.当系统的访问量上升的时候,使用Redis保存Session可以提高系统的性能,同时也方便多机负载的时候共享Session 1.打开config/database.php.在redis中增加session的连接 'session' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), '

  • Laravel中的Sessionid处理机制详解

    前言 本文主要给大家介绍了关于Laravel中Sessionid处理机制的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 在 Laravel 的配置文件 config/session.php 中可以设置 Session Cookie Name,比如这个项目中设置名称为"sns_session": /* |-------------------------------------------------------------------------- | S

  • Laravel学习教程之request validation的编写

    前言 本文主要给大家介绍了关于Laravel之request validation编写的相关内容,在用laravel写api时,当前端传进来的request是POST/PUT/PATH等method时,那需要做request validation,尽管对于前后端分离程序,前端程序Angular/Vue已经做了validation,但是ajax传过来的json input,在后端也需要做validation. 那该如何优雅的编写request validation呢?laravel官方文档已经包含

  • 跟我学Laravel之视图 & Response

    基本Response 从路由中返回字符串 复制代码 代码如下: Route::get('/', function() {     return 'Hello World'; }); 创建自定义Response Response类继承自Symfony\Component\HttpFoundation\Response类,提供了多种方法用于构建HTTP Response. 复制代码 代码如下: $response = Response::make($contents, $statusCode); $

  • laravel获取不到session的三种解决办法【推荐】

    问题:引用第三方类库时,使用全局函数session()可以保存session,但是获取不到 1.路由置于 web 中间件下,修改app/Http/Kernel.php文件,如下 protected $middlewareGroups = [ //中间件web 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

  • 跟我学Laravel之请求(Request)的生命周期

    概述 在现实世界中使用工具时,如果理解了工具的工作原理,使用起来就会更加有底气.应用开发也是如此.当你理解了开发工具是如何工作的,使用起来就会更加自如.这篇文档的目标就是提供一个高层次的概述,使你对于Laravel框架的运行方式有一个较好的把握.在更好地了解了整个框架之后,框架的组件和功能就不再显得那么神秘,开发起应用来也更加得心应手.这篇文档包含了关于请求生命周期的高层次概述,以及启动文件和应用程序事件的相关内容. 如果你不能立即理解所有的术语,别灰心,可以先有一个大致的把握,在阅读文档其他章

  • 三个思路解决laravel上传文件报错:413 Request Entity Too Large问题

    最近一个项目当中,要求上传图片,并且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了.当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request Entity Too Large,那么就有三个思路去解决.

  • 关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析

    最近由于项目开发需要,手机客户端和网页端统一使用一套接口,为保证 会话(Session) 能够正常且在各类情况下兼容,我希望能够改变 SessionID 的获取方式.默认情况下,所有网站都是通过 HTTP 请求的 Header 头部中的 Cookie 实现的,通过 Cookie 中指定的 SessionID 来关联到服务端对应数据,从而实现会话功能. 但对于手机客户端,可能并不会支持原始的 Cookie,亦或者根据平台需要而屏蔽,因此开发中要求通过增加一个请求头 X-Session-Token

  • Laravel 5.4.36中session没有保存成功问题的解决

    session使用注意点    laravel是一款php框架了,在使用laravel时会碰到session使用问题,工作中使用的是session默认的文件缓存,在使用过发现  session()->put("key","values") 没有设置成功,最后翻源码发现是使用文件缓存时候需要使用save() 方法才能持久化到数据库中 源码:vendor/laravel/framework/src/Illuminate/Session/Store.php /**

随机推荐