学院君 has written 847 articles

终身学习者,Laravel学院院长

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

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

使用 Laravel 快速构建网站系列 —— 内容管理系统:Laravel 5 Boilerplate

1、简介 Laravel 5 Boilerplate不是一个网站,也是一个建站工具,是基于当前Laravel最新版本(Laravel 5.1.*)并集成Boilerplate的项目。 2、GitHub https://github.com/rappasoft/laravel-5-boilerplate 3、功能特性 自定义访问控制系统(认证/用户/角色/权限) 第三方登录(GitHub/…

不基于任何模型使用 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(访问控…

社交媒体登录认证提供者大全 —— Socialite Providers,支持微博、微信、QQ等

1、简介 Socialite Providers是一个扩展自Laravel Socialite的OAuth 1 & 2 包集合。 其中的Manager包使用观察者模式来扩展Socialite,这种机制允许除了Laravel Socialite提供的认证提供者之外的多个其它提供者被使用,且只有添加到监听器的提供者被使用。 2、GitHub https://github.com/So…

Laravel 5.1用户认证(三) —— 使用Socialite实现GitHub登录认证

1、引言 除了让用户走注册流程实现登录认证外,在社交网络日益发达的今天,许多网站还提供了使用社交网络账号实现第三方登录认证的功能。强大的Laravel也为这种功能提供了官方包——Socialite,Socialite目前支持国外多种社交媒体登录,包括Facebook、Twitter、Google、LinkedIn、GitHub以及Bitbucket。因为GFW的缘故,本节我们将简单演示如…

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

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

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

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

使用 Laravel 快速构建网站系列 —— 内容管理系统:LavaLite

1、简介 基于Laravel 5.1 & Bootstrap 3的内容管理系统(CMS),用于构建基于Web的应用。 2、网站 http://www.lavalite.org/ 3、GitHub https://github.com/LavaLite/cms 4、系统要求 LavaLite基于PHP 5.5和MySQL 5.5进行开发,对系统要求如下: PHP >= 5.5…