クマのブログ

つまづいたところ、学びを書いていきます

【Laravel】Laravel-Admin

前提

背景

会社でこれから入るプロジェクトで管理画面の開発に"Laraveladmin"というライブラリを使っているとのことでしたので、できることや使い方をメモ

Laravel-admin

インストール

基本は以下リンクの手順

但し既にLaravel自体がインストールされていることが前提

laravel-admin.org

メモ

DBの準備、.envファイルの編集

  • 予めプロジェクトで使うデータベースを用意しておく(MySQL, PostgreSQL...etc)

  • .envを編集してLaravel-adminを導入するLaravelプロジェクトと用意したDBを連携しておく

これをしないと手順内の

php artisan admin:install

でエラーが発生する

できること

インストール直後のできる事を確認

ログイン画面

f:id:kuma_kuma0121:20210801105916p:plain

ダッシュボード

f:id:kuma_kuma0121:20210801105826p:plain

管理者情報変更

f:id:kuma_kuma0121:20210801110054p:plain

管理者一覧

f:id:kuma_kuma0121:20210801120229p:plain

管理者登録機能はapp/configdisks配列内に

            'admin' => [
                'driver' =>'local',
                'root' => public_path('uploads'),
                'visibility' =>'public',
                'url' => env('APP_URL').'/uploads',
        ],

を追加

役割

f:id:kuma_kuma0121:20210801120148p:plain

権限をパッケージ化しどのレベルまで渡すか管理

権限

f:id:kuma_kuma0121:20210801120427p:plain

権限そのもの

管理者画面の管理画面(開発者用画面)

f:id:kuma_kuma0121:20210801121319p:plain

例えばECサイトであれば

消費者:ユーザー 出品者:管理者

となり、この管理者画面を管理する画面となる

ログインできるのはプロダクトの所有者や開発者のみ

管理者画面の履歴

f:id:kuma_kuma0121:20210801121410p:plain

各種ファイル

構成

  • App/Admin : Controller, Route, bootstrap(Laravel-adminで使われる範囲), Middleware, Models, Providers

  • config/admin.php : Laravel-adminの設定ファイル(title, dashboradのタイトル, boostrapのパス...など)

  • database/migration/2016_01_04_173148_create_admin_tables.php : users, roles, permissions, menus...などのテーブル情報

  • public/vendor/laravel-admin/... : bootstrapやJS, fontawesomeのロゴなどのデザインを設定(大量のファイル達)

  • resource/lang : 外国語対応設定

所感

  • インストール時、300近くのファイルがインストールされるがほとんどのファイルはvendor直下のファイルであり、これらはデザインを定義しているだけ。

主な機能はapp/Admindatabase/migration/...にあるファイル達なので、ココを読み解く必要がある。

  • 但し、larabeladminだけ独立しておらず、ちょこちょこ既存のファイルへ入り込んでいるので、ココも読み解く。