[ Laravel 5.1 文档 ] 新手入门指南 —— 简单任务管理系统

引言:Laravel官方终于推出5.1版本快速入门指南了,学院君在reddit上看到大家的讨论后才得知这一消息,立即着手进行了翻译,希望对Laravel学习者有所帮助。 1、简介 快速入门指南会对Laravel框架做一个基本介绍,包括数据库迁移、Eloquent ORM、路由、验证、视图以及Blade模板等等。如果你是个Laravel新手甚至之前对PHP框架也很陌生,那么这里将会成为你的…

Laravel 缓存实例教程(二) —— 基于模型+缓存对文章增删改查进行优化

上一节我们在config/cache.php中配置好了缓存驱动,其实我们配置使用什么缓存驱动在应用层面是体会不到的,因为Laravel为不同的缓存驱动提供了统一的接口,针对不同的驱动调用的代码完全一致。至于使用什么驱动则完全根据业务需求和使用习惯来,这里我们使用的是memcached。至于各种驱动之间的区别我们在上一节已经详细阐述过了,这里不再赘述。 本节我们将以文章的增删改查作为实例系…

不基于任何模型使用 Laravel 5.1 的授权功能

Laravel 5.1.11 引入了一个新特性 —— 授权机制,该特性被设计为定义一系列与模型相关联的策略来实现授权。但有时候我们想要定义一个检测更高级别权限的策略,在该场景下不基于任何模型(比如文章更新权限基于Post模型)。下面这段代码即可实现该需求: 1、创建策略类 class AdminPolicy { public function managePages($user) { r…

Laravel 5.1 中的ACL用户授权及权限检查功能实现教程

1、引言 Laravel提供的开箱即用的认证功能使得用户注册、登录、退出和密码重置变得便捷和简单。 但是如果你需要控制访问站点特定部分,或者让非管理员打开/关闭特定页面,又或者确保某些用户只能编辑自己发布的东西(如文章),那么 你就需要引入类似BeatSwitch Lock这样的工具或者自己手动编写这样的功能。我们将这样的功能称之为ACL:Access Control Lists(访问控…

Laravel Eloquent 模型中使用时间戳

Laravel Eloquent模型类履行标准的时间戳管理,本脚本片段适用于所有场景(例如使用基本插入命令的迁移),此外,本脚本提供了覆盖存储时间戳格式的能力。 示例代码: class YourModel extends Eloquent { public $timestamps = false; public static function boot() { parent::boot(…

Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(二)

上一节我们讲了Eloquent ORM的三种基本关联关系:一对一、一对多和多对多,这一节我们来看一些更复杂的关联关系: 4、远层一对多 所谓的“远层一对多”指的是通过一个中间关联对象访问远层的关联关系,比如用户与文章之间存在一对多关系,国家与用户之间也存在一对多关系,那么通过用户可以建立国家与文章的之间的一对多关联关系,我们称之为“远层一对多”。 为了测试该关联关系我们新建一个国家表co…

Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(一)

数据表之间往往不是孤立的,而是纵横交叉、相互关联的,比如一个用户发表了多篇文章,一个文章又有多个评论,等等。Eloquent模型支持多种关联关系,下面让我们一一道来。 1、一对一 一对一是最简单的关联关系,表示表A和表B的记录一一对应,比如一个用户对应一个社交账号,在演示该关联关系之前我们先创建一个社交账号表user_accounts: php artisan make:migratio…

Eloquent ORM 实例教程 —— 查询作用域和模型事件

1、查询作用域 Eloquent还支持将一些常用的查询封装到模型方法中,方便调用,我们将其称之为“查询作用域”,实现查询作用域很简单,只需要在模型方法前加上scope前缀即可,比如我们经常需要获取浏览数最高的文章,就可以使用该机制实现——在Post中定义一个scopePopular方法: public function scopePopular($query) { return $que…

Eloquent ORM 实例教程 —— 模型删除及软删除相关实现

1、删除模型 1.1 使用delete删除模型 删除模型很简单,先获取要删除的模型实例,然后调用delete方法即可: $post = Post::find(5); if($post->delete()){ echo ‘删除文章成功!’; }else{ echo ‘删除文章失败!’; } 该方法返回true或false。 1.2 使用destroy删除模型 当然如果已知要删除的模型…

Eloquent ORM 实例教程 —— 模型创建、更新及批量赋值

1、创建模型 1.1 使用save方法创建模型 调用Eloquent模型类的save方法即可创建模型并插入数据到数据库: $post = new Post; $post->title = ‘test 4’; $post->content = ‘test content’; $post->user_id = 1; $post->cat_id = 1; if($pos…