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();

Laravel5 控制器的更多相关文章

  1. 关于laravel5.5控制器方法参数依赖注入原理深度解析及问题修复

    在laravel5.5中,可以根据控制器方法的参数类型,自动注入一个实例化对象,极大提升了编程的效率,但是相比较与Java的SpringMVC框架,功能还是有所欠缺,使用起来还是不太方便,主要体现在方 ...

  2. Laravel5.1 报错:控制器不存在

    Laravel5.1 报错:控制器不存在 错误提示: Class App\Http\Controllers\Api/UserController does not exist 解决: (1)检查控制器 ...

  3. Laravel5.1的控制器分组

    Laravel5.1的控制器分组 默认的控制器时直接在app\Http\Controllers下,创建分组名字,路由配置使用:分组名\控制器名@方法名.

  4. Laravel5.1控制器小结

    控制器一般存放在app\Http\Controllers目录下,所有Laravel控制器都应继承基础控制器类. 基础控制器 基础控制器例子: <?php namespace App\Http\C ...

  5. laravel5.8笔记五:基类控制器和基类模型

    建立基类的目的就是为了方便继承.比如:Admin模块访问,是否登陆.检测登陆可以写到基类里面 控制器基类 原始基类:app\Http\Controllers\Controller.php,我们下面要做 ...

  6. 【laravel5.6】 laravel中间件内生成参数并且传递到控制器的2种方法

    中间件方法: /** * 自定义中间件: * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return ...

  7. Laravel5.1 -控制器(初步了解)

    首先道个歉 这篇笔记是前两天就应该写的,可大K有点事儿要忙 就耽误了,今天抽空学了学控制器,并写个笔记分享下. 为什么要使用控制器 像我们之前写一些逻辑呢都是在Route(路由)中,搞得Route文件 ...

  8. Laravel5.1学习笔记4 控制器

    HTTP 控制器 简介 基础控制器 控制器中间件 RESTful 资源控制器 隐式控制器 依赖注入和控制器 路由缓存 简介 除了在单一的 routes.php 文件中定义所有的请求处理逻辑之外,你可能 ...

  9. Laravel5.0学习--03 Artisan命令

    本文以laravel5.0.22为例. 简介 Artisan 是 Laravel 内置的命令行接口.它提供了一些有用的命令协助您开发,它是由强大的 Symfony Console 组件所驱动.利用它, ...

随机推荐

  1. sed武功心法(info sed翻译+注解)

    本文中的提到GNU扩展时,表示该功能是GNU为sed提供的(即GNU版本的sed才有该功能),一般此时都会说明:如果要写具有可移植性的脚本,应尽量避免在脚本中使用该选项. 本文中的正则表达式几乎和gr ...

  2. C# 单例模式(Singleton Pattern)(转SuagrMatl)

    单例模式的定义: 确保一个类只有一个实例,并提供一个全局访问点. 首先实例大家应该都明白就是类生成对象的过程简单的就是String s=new String(),则s就是个实例. Q:如何只生成一个实 ...

  3. ASP.NET From表单转实体类

    原由 经常遇到 int Age=Convert.ToInt32(this.txtAge.Text); 这种蛋疼的代码,特写次方法. 之所以抛出异常是希望知道转换失败,格式错误的属性是什么,方便调试. ...

  4. WebService两种调用方法

    1.wsimport生成本地客户端代码 命令提示窗口执行生成命令. 格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址” 示例: ...

  5. setTimeout和setInterval不容易注意到的一些细节

    今天没事翻了翻JS高程,看到了setTimeout部分有这么一句话:调用setTimeout()之后,该方法会返回一个数值ID,表示超时调用.这个超时调用ID是计划执行代码的唯一标识符,可以通过它来取 ...

  6. Zookeeper和 Google Chubby对比分析

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt375 随着云计算的推广,云平台的设计和实现越来越复杂,很多系统属性如一致性和 ...

  7. None是什么?

    None是什么,是空,就是空即是色,色即是空.是一个真的很特别的值,下面比较了下 0,True,False (python 的比較) >>> None == 0False>&g ...

  8. hibernate 教程(3)—NHibernate查询语言HQL

    NHibernate之旅(3):探索查询之NHibernate查询语言(HQL) 本节内容 NHibernate中的查询方法 NHibernate查询语言(HQL) 1.from子句 2.select ...

  9. css3 如何实现圆边框的渐变

    使用 css 实现下面效果: 把效果分解. 代码一: <style> .helper1 { height: 40px; padding: 15px; background: -webkit ...

  10. 201521123040《Java程序设计》第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代 ...