[ Laravel 5.5 文档 ] 数据库操作 —— 使用进阶:通过查询构建器实现高级功能

 简介 数据库查询构建器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执行应用中绝大部分数据库操作,并且能够在 Laravel 支持的所有数据库系统上工作。 注:流接口是一种设计模式,更多关于流接口模式的设计和使用方式,可查看这篇教程:PHP 设计模式系列 —— 流接口模式。 Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要过滤以绑…

[ Laravel 5.5 文档 ] 数据库操作 —— 快速入门:基本配置和使用、读写分离 & 数据库事务

简介 Laravel 让连接不同数据库以及对数据库进行增删改查操作变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 应用的数据库配置位于 config/database.php(但是数据库用户及密码等敏感信息位于 .env 文件,如果…

[ Laravel 5.5 文档 ] 处理用户请求 —— 异常处理 & 错误日志

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。本教程我们将深入探讨这个类。 注:关于 Laravel 异常处理底层原理和实现可以参考学院的这篇教程了解更多 —— 《深入探讨 PHP 错误异常处理机制及 Laravel 框架底层的相应实现》 此外,Laravel 还集成了 Monolog 日…

[ Laravel 5.5 文档 ] 处理用户请求 —— 请求表单验证及错误处理大全

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

[ Laravel 5.5 文档 ] 处理用户请求 —— Session 实现、配置与使用详解

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。Laravel 通过简洁的 API 统一处理后端各种 Session 驱动,目前开箱支持的流行后端驱动包括 Memcached、Redis 和数据库。 学院君注:Laravel 并没有使用 PHP 内置的 Sess…

[ Laravel 5.5 文档 ] 处理用户请求 —— 辅助函数篇:请求 URL 生成

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

[ Laravel 5.5 文档 ] 处理用户请求 —— Laravel 视图的创建和数据传递

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

[ Laravel 5.5 文档 ] 处理用户请求 —— Laravel 视图渲染:Blade 模板引擎

Blade 简介 Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。Blade 视图文件使用 .blade.php 文件扩展并存放在 resour…

[ Laravel 5.5 文档 ] 处理用户请求 —— HTTP 响应、重定向及文件下载

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

[ Laravel 5.5 文档 ] 处理用户请求 —— HTTP 请求参数获取、Cookie设置及文件上传

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