laravel 5.5 voyager
使用 Laravel 安装器
laravel new blog
或通过 Composer Create-Project
composer create-project --prefer-dist laravel/laravel blog 5.5.*
composer require tcg/voyager
注:如果使用的环境是laradock,则内容应当如下:
APP_URL=http://blog.app DB_HOST=mysql DB_DATABASE=blog DB_USERNAME=root DB_PASSWORD=root
php artisan voyager:install --with-dummy
email: [email protected] password: password
注:当数据库中没有当前用户时,才会创建虚拟用户。
如果您没有使用虚拟用户,则可能希望为现有用户分配管理员权限。
这可以通过运行以下命令轻松完成:
php artisan voyager:admin [email protected]
如果你想创建一个新的管理员用户,你可以通过这样的--create标志:
php artisan voyager:admin [email protected] --create
并提示您输入用户名和密码。
注:以下修改内容为非可选内容,只有当你更改了默认的User模型时才需要调整。本项目将使用默认的App\User.php。
在.gitignore中增加以下内容
/public/vendor
如果调整了默认的数据模型位置(例:将默认的模型存放位置为app\改为app\Models\,则还应当修改以下配置:
- vendor\tcg\voyager\src\Commands\InstallCommand.php
$this->info('Attempting to set Voyager User model as parent to App\User');
if (file_exists(app_path('User.php'))) {
$str = file_get_contents(app_path('User.php'));
if ($str !== false) {
$str = str_replace('extends Authenticatable', "extends \TCG\Voyager\Models\User", $str);
file_put_contents(app_path('User.php'), $str);
}
改为
$userPath = config('voyager.user.default_path', app_path('User.php'));
$this->info('Attempting to set Voyager User model as parent to ' . $userPath); if (file_exists($userPath)) {
$str = file_get_contents($userPath);
if ($str !== false) {
$str = str_replace('extends Authenticatable', "extends \TCG\Voyager\Models\User", $str);
file_put_contents($userPath, $str);
}
并在config\voyager.php中user数组中增'default_path' => app_path('Models/User.php'),
'user' => [
'add_default_role_on_register' => true,
'default_role' => 'user',
'namespace' => App\Models\User::class, //Change
'default_avatar' => 'users/default.png',
'default_path' => app_path('Models/User.php'), // Add
],
- app\User.php
namespace App;
改为
namespace App\Models;
- config\auth.php
'model' => App\User::class,
改为
'model' => App\Models\User::class,
最后执行加载,并重新迁移数据
composer dump-autoload
php artisan voyager:install --with-dummy