Sentry 是一个可以让 Laravel 用户权限管理变得很简单的依赖包,详细说明可以参考《官方文档》,但是由于文档中给出的是在 Laravel 4.* 中的安装步骤,有些地方并不适合 Laravel 5.* ,所以把本人在安装过程中的实际经验,写下来分享给大家,避免安装文档安装不成功。下面介绍如何在 Laravel 5.* 中安装使用该依赖。
1. 准备
把依赖加入 composer.json文件 的 require
数组(注意这里与文档的区别):
"require": { // *** 其他依赖 "cartalyst/sentry": "dev-feature/laravel-5" },
2. 安装依赖
接着,切换到命令行,执行下面的代码:
composer update
3. 整合
等上面的命令执行完毕之后,我们就可以把 Sentry 与 Laravel 整合起来了,安装其他依赖也是需要按下面步骤来的:
打开 config/app.php 文件,在 providers
数组加入下面的代码(这里也与文档有区别):
// Laravel 5.0.* 'Cartalyst\Sentry\SentryServiceProvider', // Laravel 5.1.* Cartalyst\Sentry\SentryServiceProvider::class,
接着,在 aliases
数组中加入:
// Laravel 5.0.* 'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry', // Laravel 5.1.* 'Sentry' => Cartalyst\Sentry\Facades\Laravel\Sentry::class,
到这里安装基本就完成了,下面要做的就是把数据库建立起来。
4. 数据迁移
在执行之前,请先确保数据库已经配置好了,一般是修改 .env 中的数据库配置项。
然后在命令行执行下面命令(这里也与文档有区别):
php artisan migrate --path=vendor/cartalyst/sentry/src/migrations
执行完成之后到数据库看看是不是已经多出来了5张表呢?那么说明依赖已经安装完成了,之后就按照文档操作吧。
注:如果这里安装文档中的命令:php artisan migrate --package=cartalyst/sentry
来的话,会得到下面的错误信息:
$ php artisan migrate --package=cartalyst/sentry [RuntimeException] The "--package" option does not exist.
应该是因为 Laravel 5 中移除了 --package
参数。