菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
3431
0

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

原创
05/13 14:22
阅读数 1853

相关信息

官网文档: https://docs.laravelvoyager.com/getting-st...

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

安装

  1. 下载

    composer require tcg/voyager
  2. 发布配置文件

    php artisan vendor:publish --all

安装之前自定义配置

  1. 配置语言 /config/app.php

    'locale' => 'zh_CN',
  2. 配置voyager语言 /config/voyager.php

    'locale' => 'zh_CN',
  3. 配置 APP_URL /.env
    你的项目地址是什么就配置什么, 如果不配置 APP_URL 图片可能显示异常

    APP_URL=http://laravel.test
  4. 配置数据库连接 /.env, 已经配置好的可以跳过

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=test_db
    DB_USERNAME=homestead
    DB_PASSWORD=secret
  5. 执行安装

    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 或者重新再安装一遍
  1. 查看效果

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

自定义模型 和 控制器

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

  1. 修改 /config/voyager.php 这个配置文件,不一定非得修改成我这样, 你可以自定义, 但是后面的操作必须和这个配置文件中的配置一致

    'controllers' => [
    'namespace' => 'App\\Admin\\Controllers',
    ],
    'models' => [
     'namespace' => 'App\\Admin\\Models',
    ],
  2. 新建 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';
    }
  2. 自定义后台登录使用的 guard, 在 /app/Providers/AuthServiceProvider.phpregister 方法中

    $this->app->singleton('VoyagerAuth', function () {
    return Auth::guard('your-guard');
    });
  3. 自定义controllers的逻辑

    php artisan voyager:controllers

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

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

发表评论

0/200
3431 点赞
0 评论
收藏
为你推荐 换一批