1、配置在使用 Laravel的加密器之前,应该在 config/app.php配置文件中设置 key选项为 32位随机字符串。如果这个值没有被设置,所有 Laravel加密过的值都是不安全的。2、基本使用2.1 加密你可以使用 Crypt门面对数据进行加密,所有加密值都使用 OpenSSL和 AES-256-CBC密码进行加密。此外,所有加密值都通过一个消息认证码(MAC)来检测对加密字符串的任何修改。
1、简介Laravel Elixir 提供了一套干净、平滑的 API用于为 Laravel应用定义基本的Gulp任务。Elixir 支持一些通用的CSS 和JavaScript 预处理器,甚至是测试工具。使用方法链,Elixir `允许你平滑的定义资源管道。例如:elixir(function(mix) { mix.sass('app.scss') .coffee('app.coffee');});
1、简介Illuminate\Support\Collection 类为处理数组数据提供了平滑、方便的封装。例如,查看下面的代码,我们使用帮助函数 collect创建一个新的集合实例,为每一个元素运行 strtoupper函数,然后移除所有空元素:$collection = collect(['taylor', 'abigail', null])->map(function ($name) { return strtoupper($name); })->
1、配置Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 目前支持流行的缓存后端如 Memcached和 Redis等。缓存配置文件还包含其他文档化的选项,确保仔细阅读这些选项。默认情况下,Laravel 被配置成使用文件缓存,这会将序列化数据和缓存对象存储到文件系统。
1、简介Laravel Cashier 为 Stripe 的订购单据服务提供了一个优雅的、平滑的接口。它处理了几乎所有你恐惧编写的样板化的订购单据代码。除了基本的订购管理外,Cashier 还支持处理优惠券、交换订购、订购“数量”、取消宽限期,甚至生成PDF发票。1.1 配置1.1.1 Composer首先,添加 Cashier 包到 composer.json 文件并运行 composer update 命令:"laravel/cashier": "~5.
1、简介Artisan 是 Laravel 自带的命令行接口名称,它为你在开发过程中提供了很多有用的命令。通过强大的 Symfony Console 组件驱动。想要查看所有可用的 Artisan 命令,可使用 list 命令:php artisan list每个命令都可以用 help 指令显示命令描述及命令参数和选项。
1、简介除了提供“开箱即用”的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。在 Laravel 中,有很多种方法和帮助函数来协助你管理授权逻辑,本文档将会一一覆盖这些方法。注意:授权在 Laravel 5.1.11 版本中引入,在将该特性集成到应用之前请参考升级指南。
1、简介Laravel 中实现用户认证非常简单。实际上,几乎所有东西都已经为你配置好了。配置文件位于 config/auth.php,其中包含了用于调整认证服务行为的文档友好的选项配置。1.1 数据库考量默认情况下,Laravel 在 app 目录下包含了一个 Eloquent 模型 App\User,这个模型可以和默认的 Eloquent 认证驱动一起使用。
1、简介当构建 JSON API 时,经常需要转化模型和关联关系为数组或 JSON。Eloquent 包含便捷方法实现这些转换,以及控制哪些属性被包含到序列化中。2、基本使用2.1 转化模型为数组要转化模型及其加载的关联关系为数组,可以使用 toArray 方法。这个方法是递归的,所以所有属性及其关联对象属性(包括关联的关联)都会被转化为数组:$user = App\User::with('roles')->
1、简介访问器和调整器允许你在获取模型属性或设置其值时格式化 Eloquent 属性。例如,你可能想要使用 Laravel 加密器对存储在数据库中的数据进行加密,并且在 Eloquent 模型中访问时自动进行解密。除了自定义访问器和调整器,Eloquent 还可以自动转换日期字段为 Carbon 实例甚至将文本转换为 JSON。2、访问器 & 调整器2.
1、简介Eloquent 返回的所有多结果集都是 Illuminate\Database\Eloquent\Collection 对象的实例,包括通过 get 方法或者通过访问关联关系获取的结果。Eloquent 集合对象继承自 Laravel 的集合基类,因此很自然的继承了很多处理 Eloquent 模型底层数组的方法。当然,所有集合也是迭代器,允许你像数组一样对其进行循环:$users = App\User::where('active', 1)->get();
1、简介数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户,Eloquent 使得组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系:一对一 一对多 多对多 远层多对多 多态关联 多对多的多态关联2、定义关联关系Eloquent 关联关系以 Eloquent 模型类方法的形式被定义。
1、简介Laravel 自带的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的“模型”,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。在开始之前,确保在 config/database.php 文件中配置好了数据库连接。更多关于数据库配置的信息,请查看文档。
1、简介Laravel 包含了一个简单方法来填充数据库——使用填充类和测试数据。所有的填充类都位于 database/seeds 目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性,例如UserTableSeeder等等。安装完 Laravel 后,会默认提供一个 DatabaseSeeder 类。从这个类中,你可以使用 call 方法来运行其他填充类,从而允许你控制填充顺序。
1、简介迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的结构构建器结对从而可以很容易地构建应用的数据库表结构。Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供一致的、优雅的、平滑的 API。
1、简介数据库查询构建器提供了一个方便的、平滑的接口来创建和运行数据库查询。查询构建器可以用于执行应用中大部分数据库操作,并且能够在支持的所有数据库系统上工作。注意:Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要清除传递到绑定的字符串。2、获取结果集2.
1、简介Laravel 让连接多种数据库和运行查询都变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系统:MySQL Postgres SQLite SQL Server1.1 配置Laravel 让连接数据库和运行查询都变得非常简单。应用的数据库配置位于 config/database.php。
1、简介门面为应用的服务容器中的有效类提供了一个“静态”接口。Laravel 附带了很多门面,你可能在不知道的情况下正在使用它们。Laravel 的门面作为服务容器中的底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活的、简明且富有表现力的预语法。2、使用门面在 Laravel 应用的上下文中,门面就是一个提供访问容器中对象的类。
1、简介Laravel 的契约是指框架提供的一系列定义核心服务的接口。比如,Illuminate\Contracts\Queue\Queue 契约定义了队列任务需要的方法,Illuminate\Contracts\Mail\Mailer 契约定义了发送邮件所需要的方法。每一个契约都有框架提供的相应实现。比如,Laravel 提供了多个驱动的队列实现,邮件实现则由 SwiftMailer 驱动。
1、简介Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具。依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下通过 set 方法将类依赖注入到类中。让我们看一个简单的例子:<?phpnamespace App\Jobs;use App\User;use Illuminate\Contracts\Mail\Mailer;use Illuminate\Contracts\Bus\SelfHandling;
关注时代Java