[ Laravel 5.8 文档 ] 基础组件 —— HTTP 响应

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

[ Laravel 5.8 文档 ] 基础组件 —— HTTP 请求

访问请求实例 在控制器中获取当前 HTTP 请求实例,需要在构造函数或方法中对 Illuminate\Http\Request 类进行依赖注入,这样当前请求实例会被服务容器自动注入:...

[ Laravel 5.8 文档 ] 基础组件 —— 控制器

简介 我们之前的演示示例都是将所有的请求处理逻辑放在路由文件的闭包函数中,这显然是不合理的,我们需要使用控制器类组织管理相对复杂的业务逻辑处理。控制器用于将相关的 HTTP 请求封装到一个类中进行处理,这些控制器类存放在 app/Http/Controllers 目录下。 控制器入门 定义控制器 下面是一个基本控制器类的例子。首先我们使用 Artisan 命令快速创建一个控制器: php...

基于 Laravel + Vue.js 构建的开源电商系统 —— Bagisto

项目简介 Bagisto是一个手工定制的电子商务框架,基于当下最热门的开源技术进行构建 —— 后端基于 PHP 框架 Laravel,前端基于渐进式 JavaScript 框架 Vue.js。 Bagisto 项目设计的初衷是为了减少构建在线商店或者从实体店迁移到在线商店的时间、金钱和人力成本。不管你的业务是大是小,Bagisto 都会适合你,而且安装和设置都非常简单,可以让你轻松入门。...

[ Laravel 5.8 文档 ] 基础组件 —— CSRF 保护

简介 跨站请求伪造(CSRF)是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞。 Laravel 通过自带的 CSRF 保护中间件让避免应用遭到跨站请求伪造攻击变得简单:Laravel 会自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,然后将该令牌存放在 Session 中,该令牌用于验证授权用户和发起请求者是否是同一个人。 任何时候在 Laravel 应用中定义 ...

[ Laravel 5.8 文档 ] 基础组件 —— 中间件

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

[ Laravel 5.8 文档 ] 基础组件 —— 路由

路由入门 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此为基础提供一个非常简单优雅的路由定义方法: Route::get('hello', function () { return 'Hello, Welcome to LaravelAcademy.org'; }); 我们以在安装配置文档中新建的 blog 应用为例,在 routes/web.php 中定义...

[ Laravel 5.8 文档 ] 底层原理 —— 契约(Contracts)

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

[ Laravel 5.8 文档 ] 底层原理 —— 门面(Facades)

简介 注:对门面这个概念不理解?可参考PHP 设计模式系列 —— 门面模式(Facade)。 门面为应用服务容器中的绑定类提供了一个「静态」接口。Laravel 内置了很多门面,你可能在不知道的情况下正在使用它们。Laravel 的门面作为服务容器中底层类的「静态代理」,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。 Laravel 的所有门面都定义在 ...

[ Laravel 5.8 文档 ] 底层原理 —— 服务提供者

简介 服务提供者是 Laravel 应用启动的中心,你自己的应用以及所有 Laravel 的核心服务都是通过服务提供者启动。 但是,我们所谓的「启动」指的是什么?通常,这意味着注册服务,包括注册服务容器绑定、事件监听器、中间件甚至路由。服务提供者是应用配置的中心。 如果你打开 Laravel 自带的 config/app.php 文件,将会看到一个 providers 数组,这里就是应用...