[ Laravel 从入门到精通 ] Laravel 控制器:从 MVC 模式到资源控制器

控制器概述 到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以和其他 Web 应用框架一样,我们还可以通过控制器来定义路由。 说到这里,我们就不得不提一下 MVC 设计模式,这个模式最早在 Ruby On Rails 中引入,然后被基本上所有的 Web 框架所借鉴和...

[ Laravel 5.7 文档 ] 安全系列 —— 授权

简介 除了提供开箱即用的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。和认证一样,在 Laravel 中实现授权很简单,主要有两种方式:Gate 和 Policy。 可以将 Gate 和 Policy 分别看作路由和控制器,Gate 提供了简单的基于闭包的方式进行授权,而 Policy 和控制器一样,对特定模型或资源上的复杂授权逻辑进行分组,...

[ Laravel 5.7 文档 ] 基础组件 —— 表单验证

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

[ Laravel 5.7 文档 ] 基础组件 —— URL 生成

简介 Laravel 提供了多个辅助函数来帮助我们在应用中生成 URL。这些函数主要用于在视图模板和 API 响应中构建链接,或者生成重定向响应。 快速入门 生成 URL url 辅助函数可用于为应用生成任意 URL,并且生成的 URL 会自动使用当前请求的 scheme(HTTP or HTTPS) 和 host 属性: $post = App\Post::find(1); echo...

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

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

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

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

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(七) —— 实现 Laravel 后端 API 接口

在上一篇教程中,我们通过 Vue Router 为 Roast 应用添加了前端路由,现在我们需要为对应的页面提供数据以便渲染。需要注意的是,在 API 驱动的单页面应用中,所有数据都是通过 Ajax 异步加载的,因此,我们需要现在 Laravel 后端提供 API 接口,然后根据接口返回数据通过 Vue 进行渲染。 第一步:设计路由 在提供 API 接口之前,需要先明确提供哪些路由,在上...

Laravel 5.7 新特性系列之新的 URL 生成语法

感谢 Sebastian De Deyne,Laravel 5.7 支持了一种新的控制器动作 URL 生成语法,你之前有可能已经听过这种 URL 生成特性 —— 「元组符号」或者「可调用数组语法」: $url = action([PostsController::class, 'index']); 在当前版本(Laravel 5.6)URL 辅助函数只支持这种风格的控制器动作 URL ...

Laracasts 教程总结:Laravel 5 菜鸟入门(上)

1. 使用 Composer 快速创建项目 本节介绍如何使用 Composer 来创建 Laravel 项目。 Composer 是 PHP 的一个依赖管理工具。它以项目为单位进行管理,允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Mac 下的安装(其他平台安装): $ curl -sS https://getcomposer.org/installer | php...