前回、Laravel管理画面 VOYAGERの環境を構築しました。VOYAGERはブログサイトよりのCMSの印象なため、今回は他の管理画面のパッケージを探すことにしました。
希望している機能は、テーブルを柔軟に結合しながら、リストやフォームのパーツをサクッと作成してくれるCRUDを備えていることです。そして、追加、編集、一覧など別れたviewファイルを作成しないものが理想です。
いろいろと調べて見ると、更新頻度、機能の豊富さで「laravel-admin」が使えそうだと分かりました。デモサイトも用意されているため、事前に機能を確認することができます。
laravel-adminの環境を構築する
laravel-adminのインストール
$ composer create-project --prefer-dist laravel/laravel <demo>
$ composer require encore/laravel-admin
$ php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
$ php artisan admin:install
$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache
$ mkdir app/Models
$ mkdir app/Admin/Controllers
こんな感じでサクッとインストールが完了しました。
インストール中に、下記のエラーが発生する場合は、MySQLのバージョンに問題があります。前回の記事と同じ対応方法で解決しました。(MySQLを5.6から5.7にバージョンアップするべきなのでしょうが・・・)
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
動作確認のため管理画面のURLにアクセスすると
http://demo.site/admin

ログイン画面が表示されました。デフォルトアカウントの「Username: admin、Password: admin」を入力し、Loginボタンを押すと正常にログインできました。

初期のDashboardです。
laravel-adminを使ってみた感想
初期の状態では、ユーザー管理しかありません。ここからCRUDを利用して、独自のCMSを構築していけそうです。
また、豊富な拡張機能も用意されています。それらの機能は、composerを使って簡単に追加することが可能です。
しばらくは、laravel-adminを使っていろいろ試していきたいと思います。
laravel-adminの構築予定
- 初期設定
- 日本語化
- ユーザー管理ワークフロー
- CRUD利用
などなど
■laravel-admin
http://laravel-admin.org/