相关信息
官网文档: https://docs.laravelvoyager.com/getting-st...
github: https://github.com/the-control-group/voyag...
安装
-
下载
composer require tcg/voyager
-
发布配置文件
php artisan vendor:publish --all
安装之前自定义配置
-
配置语言
/config/app.php
'locale' => 'zh_CN',
-
配置voyager语言
/config/voyager.php
'locale' => 'zh_CN',
-
配置 APP_URL
/.env
你的项目地址是什么就配置什么, 如果不配置APP_URL
图片可能显示异常APP_URL=http://laravel.test
-
配置数据库连接
/.env
, 已经配置好的可以跳过DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=test_db DB_USERNAME=homestead DB_PASSWORD=secret
-
执行安装
php artisan voyager:install --with-dummy
--with-dummy
选项是添加一些假数据, 如果不需要可以不加
安装的时候有坑,注意
如果你是 windows10
在 virtuallbox
中安装的 homestead
环境, 在安装的时候需要执行php artisan storage:link
这个命令, 如果报错 Error Exception: symlink() Protocol error....
请尝试下几步操作
- 关闭 homestead:
vagrant halt
- 使用
管理员权限
打开命令行(cmd,gitbash都行) 然后开启 homestead:vagrant up
- 进入homestead之后, 你可以选择手动执行
storage:link
或者重新再安装一遍
- 查看效果
自定义模型 和 控制器
因为 voyager 默认使用的是 /App/User
模型对应的数据表来进行后台用户的登录操作, 但是如果我们想要让他使用其他模型, 前台用户和后台用户分开成两个表, 就需要自定义模型存放的位置
-
修改
/config/voyager.php
这个配置文件,不一定非得修改成我这样, 你可以自定义, 但是后面的操作必须和这个配置文件中的配置一致'controllers' => [ 'namespace' => 'App\\Admin\\Controllers', ], 'models' => [ 'namespace' => 'App\\Admin\\Models', ],
-
新建 admin模块目录
-
将
/app/User
复制放到/app/Admin/Models
目录下, 修改命名空间<?php namespace App\Admin\Models; use TCG\Voyager\Models\User as VoyagerUser; class User extends VoyagerUser { /** * 设置表名,使用 admins 表 * * @var string */ protected $table = 'admins'; }
-
自定义后台登录使用的 guard, 在
/app/Providers/AuthServiceProvider.php
的register
方法中$this->app->singleton('VoyagerAuth', function () { return Auth::guard('your-guard'); });
-
自定义controllers的逻辑
php artisan voyager:controllers
这个命令会将 voyager 所有controller 都发布一份到voyager.php这个配置文件制定的位置
© 著作权归作者所有
发表评论