相關資訊
官網文件: 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這個配置檔案制定的位置