laravel 构建后台package Voyager 使用笔记

相关信息

官网文档: https://docs.laravelvoyager.com/getting-started/what-is-voyager

github: https://github.com/the-control-group/voyager/

安装

  1. 下载
composer require tcg/voyager
  1. 发布配置文件
php artisan vendor:publish --all

安装之前自定义配置

  1. 配置语言 /config/app.php
'locale' => 'zh_CN',
  1. 配置voyager语言 /config/voyager.php
'locale' => 'zh_CN',
  1. 配置 APP_URL /.env
    你的项目地址是什么就配置什么, 如果不配置 APP_URL 图片可能显示异常
APP_URL=http://laravel.test
  1. 配置数据库连接 /.env, 已经配置好的可以跳过
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test_db
DB_USERNAME=homestead
DB_PASSWORD=secret
  1. 执行安装
php artisan voyager:install --with-dummy

--with-dummy 选项是添加一些假数据, 如果不需要可以不加

安装的时候有坑,注意

如果你是 windows10virtuallbox 中安装的 homestead 环境, 在安装的时候需要执行
php artisan storage:link 这个命令, 如果报错 Error Exception: symlink() Protocol error....请尝试下几步操作

  1. 关闭 homestead: vagrant halt

  2. 使用 管理员权限 打开命令行(cmd,gitbash都行) 然后开启 homestead: vagrant up

  3. 进入homestead之后, 你可以选择手动执行 storage:link 或者重新再安装一遍

  4. 查看效果

laravel 快速构建后台 package Voyager 使用笔记

自定义模型 和 控制器

因为 voyager 默认使用的是 /App/User 模型对应的数据表来进行后台用户的登录操作, 但是如果我们想要让他使用其他模型, 前台用户和后台用户分开成两个表, 就需要自定义模型存放的位置

  1. 修改 /config/voyager.php 这个配置文件,不一定非得修改成我这样, 你可以自定义, 但是后面的操作必须和这个配置文件中的配置一致
'controllers' => [
    'namespace' => 'App\\Admin\\Controllers',
],
'models' => [
     'namespace' => 'App\\Admin\\Models',
],
  1. 新建 admin模块目录
laravel 快速构建后台 package Voyager 使用笔记
  1. /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';
}
  1. 自定义后台登录使用的 guard, 在 /app/Providers/AuthServiceProvider.phpregister 方法中
$this->app->singleton('VoyagerAuth', function () {
    return Auth::guard('your-guard');
});
  1. 自定义controllers的逻辑
php artisan voyager:controllers

这个命令会将 voyager 所有controller 都发布一份到voyager.php这个配置文件制定的位置

laravel 快速构建后台 package Voyager 使用笔记
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 Laravel 致力于让你在 PHP 开发过程中更加轻松愉快,这其中也包括本地开发环境的搭建。 Vagran...
    曼巴童鞋阅读 2,386评论 0 3
  • Homestead 可以运行在 Windows、Mac 以及 Linux 等主流操作系统上,预装的软件和工具列表如...
    guanguans阅读 3,086评论 0 5
  • Laravel 致力于让整个 PHP 开发体验变得愉快, 包括你的本地开发环境。 Vagrant 提供了一种简单,...
    黑色彼岸阅读 333评论 0 0
  • 听雨 达武旦 雨落在庭院 不同的物件 发出不同的回响 他闭着眼睛聆听 那隐秘的曲调 在窝家幽暗的室内 用想象触摸 ...
    达武旦阅读 101评论 0 1
  • 转眼开学一周了,在开学之初,和儿子约定,每天放学就回家,回家就写作业,然后吃饭出去玩,想玩多久玩多久,并且在墙上张...
    北京echo刘丹阅读 92评论 0 0