Laravel 快速構建後臺 package Voyager 使用筆記

liaohui5發表於2019-07-17

相關資訊

官網文件: 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 使用筆記

相關文章