Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程

1、入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑。要查看Laravel中所有的Artisan命令,可以通过在项目根目录运行: php artisan list 对应输出如下(部分截图): 其中一些命名我们已经比较熟悉了,比如创建迁移make:migration以及执行迁移migrate,又比如创建模型make:model,创建控制...

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

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

Laravel 5.1用户认证(二) —— 使用Laravel内置组件快速实现密码重置

忘记密码是应用中常见的场景之一,Laravel 5.1也提供了对密码重置的支持,我们只需稍微做一下配置即可轻松实现重置密码。 1、实现思路 通过给用户注册邮箱发送包含特定令牌的重置密码链接,然后用户登录邮箱通过访问该重置密码链接实现密码的重置。 2、数据表&模型 实现CanResetPasswordContract契约并使用CanResetPasswordtrait...

Laravel 5.1用户认证(一) —— 使用Laravel内置组件快速实现注册登录

1、引言 Laravel 中实现用户登录认证非常简单,因为Laravel基本上为你提供登录认证所需的一切组件,你只要拿过来用就可以了。在Laravel 5.1以前,新安装的Laravel内置了登录&注册功能,5.1中去除了该功能,但这仅仅是路由和视图,后台的一应代码还是保留了,所以我们要做的仅仅是自定义路由和视图即可。 2、从配置文件说起 Laravel 登录认证对应的...

Laravel 实例教程 —— 如何在Laravel 5.1中进行自定义包开发

1、安装Laravel 已安装Laravel的略过本步骤,未安装的参考Laravel安装文档:Laravel 5.1安装及配置 2、创建目录和服务提供者 在根目录下创建文件夹 packages/jai/contact/src 进入src目录并创建一个服务提供者ContactServiceprovider.php: <?php namespace Jai\Contact...

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

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

在 Windows 上快速安装 Flarum 指南

1、下载安装包 去下载页面下载Flarum一键安装包,然后将其解压到web应用根目录,比如使用xampp的话对应目录为/path/to/xampp/htdocs,将解压后的文件夹重命名为flarum。 注:目前Flarum还是测试版本,不建议用于生产环境。 2、使用向导安装 启动web服务器(xampp、wamp或其他)。 在浏览器中访问http://localhost/f...

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

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

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

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

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

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