라라벨 패키지 Admin 통합 방법
라라벨 패키지 Admin 통합하기
제공 중인 라라벨은 각각의 관리자단을 가집니다. 쇼핑몰(laravel-market)경우 는 여러개의 패키지를 통합하여 제공하는데 이들의 Admin단을 통합하는 과정을 설명드리겠습니다.
새로운 관리자 환경 만들기
1. routes 추가
1.1 route/web.php에 관리자 추가하기
Route::group(['prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin', 'namespace' => '\App\Http\Controllers\Admin'], function () {
    Route::get('/', 'DashboardController@dashboard');
});
1.2. DashboardController 생성
App\Http\Controllers\Admin\DashboardController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
class DashboardController extends Controller
{
    public function __construct()
    {
    }
    public function dashboard(Request $request)
    {
        return view('admin/dashboard');
    }
}
1.3. dashboard.blade.php
resources/views/admin/dashboard.blade.php 생성
<x-dynamic-component component="pondol-common::common-admin" :path="['Dashboard']">
    <div id="content">
    </div>
    @section('styles')
        @parent
    @endsection
    @section('scripts')
        @parent
    @endsection
</x-dynamic-component>
위와 같이 설정하고 admin으로 접근하면 현재 install한 기타 패키지들이 들이 출력됩니다. 
예로 wangta69/laravel-auth 가 install 되어 있으면 [회원관리] 가 Lnb에 출력됩니다. 
관리자단 > 회원관리 > 회원 을 클릭하면 아마 아래와 링크로 이동될 것입니다. 
https://your_domain/auth/admin/users
패키지별 url에 변경하기
지금 설명하려는 것은 auth/admin/users -> admin/auth/users 처럼 현재 admin 이후루 url을 변경하는 방법입니다. 
각 패키마다 별도의 config 파일이 생성되는데 wangta69/laravel-auth 의 경우 아래와 같은 config 화일이 존재 합니다.
- config/pondol-auth.php
<?php
return [
  'roles' => [
    'default_role' => 'user'
  ],
  'route_auth'=>[
    'prefix'=>'',
    'as'=>'',
    'middleware'=>['web'],
  ],
  'route_auth_admin'=>[
    'prefix'=>'auth/admin',
    'as'=>'auth.admin.',
    'middleware'=>['web', 'admin'],
  ],
  'component' => ['admin'=>['layout'=>'pondol-common::common-admin', 'lnb'=>'pondol-auth::lnb-partial']],
  'redirect_after_login' => ['administrator'=> '/admin', 'manager' => '/', 'user' => '/'],
  'default_redirect_path' => '/home',
];
'route_auth_admin'=>[
    'prefix'=>'admin/auth',  // <!-- auth/admin
    'as'=>'auth.admin.',
    'middleware'=>['web', 'admin'],
  ],
위처럼 적용하면 https://your_domain/auth/admin/users -> https://your_domain/admin/auth/users 로 변경됩니다.