[ Laravel 5.4 文档 ] HTTP层 —— 验证

1、简介 Laravel 提供了多种方法来验证应用输入数据。默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的 HTTP 请求。 2、快速入门 要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子。 定义路由 首先,我们假定在 routes…

[ Laravel 5.4 文档 ] HTTP层 —— Session

1、简介 由于 HTTP 驱动的应用是无状态的,所以我们使用 Session 来存储用户请求信息。Laravel 通过干净、统一的 API 处理后端各种 Session 驱动,目前支持的流行后端驱动包括 Memcached、Redis 和数据库。 配置 Session 配置文件位于 config/session.php。默认情况下,Laravel 使用的 Session 驱动为 file…

[ Laravel 5.4 文档 ] HTTP层 —— 视图

1、 创建视图 视图包含应用的 HTML 代码并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录。下面是一个简单视图: <!– 该视图存放 resources/views/greeting.php –> <html> <body> <h1>Hello, {{ $name }}</h1&gt…

[ Laravel 5.4 文档 ] HTTP层 —— 响应

1、创建响应 字符串 & 数组 所有路由和控制器都会返回一个被发送到用户浏览器的响应,Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串,框架会将这个字符串转化为一个完整的 HTTP 响应: Route::get(‘/’, function () { return ‘Hello World’; }); 除了从路由或控制器返回字符串之…

[ Laravel 5.4 文档 ] HTTP层 —— 请求

1、访问请求实例 要通过依赖注入获取当前 HTTP 请求实例,需要在控制器的构造函数或方法中对 Illuminate\Http\Request 类进行类型提示,这样当前请求实例会被服务容器自动注入: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController exte…

[ Laravel 5.4 文档 ] HTTP层 —— 控制器

1、简介 将所有的请求处理逻辑都放在单个路由文件中显然是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的 HTTP 请求封装到一个类中进行处理。通常控制器存放在 app/Http/Controllers 目录中。 2、基本控制器 定义控制器 下面是一个基本控制器类的例子。所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类 Controller…

[ Laravel 5.4 文档 ] HTTP层 —— CSRF保护

1、简介 跨站请求伪造(CSRF)是一种通过伪装授权用户的请求来利用授信网站的恶意漏洞。Laravel 让应用避免遭到跨站请求伪造攻击变得简单。 Laravel 自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,该令牌用于验证授权用户和发起请求者是否是同一个人。 任何时候在 Laravel 应用中定义 HTML 表单,都需要在表单中引入 CSRF 令牌字段,这样 CSRF…

[ Laravel 5.4 文档 ] HTTP层 —— 中间件

1、简介 HTTP 中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志…

[ Laravel 5.4 文档 ] HTTP层 —— 路由

1、基本路由 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法: Route::get(‘foo’, function () { return ‘Hello World’; }); 默认路由文件 所有 Laravel 路由都定义在位于 routes 目录下的路由文件中,这些文件通过框架自动加载。routes/web.php 文件定义…

[ Laravel 5.4 文档 ] 核心概念 —— 契约(Contracts)

1、简介 Laravel 中的契约是指框架提供的一系列定义核心服务的接口。 例如,Illuminate\Contracts\Queue\Queue 契约定义了队列任务需要实现的方法,Illuminate\Contracts\Mail\Mailer 契约定义了发送邮件所需要实现的方法。 每一个契约都有框架提供的相应实现。例如,Laravel 为队列提供了多个驱动的实现,邮件则由 Swift…