相关信息
官网文档: https://docs.laravelvoyager.com/getting-started/what-is-voyager
github: https://github.com/the-control-group/voyager/
安装
- 下载
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这个配置文件制定的位置

网友评论