PHP DIY開発 Laravel Admin【laravel-admin】を使ってCMSを構築する

前回、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

laravel-admin CMS構築 -1-

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

laravel-admin CMS構築 -2-

初期のDashboardです。

laravel-adminを使ってみた感想

初期の状態では、ユーザー管理しかありません。ここからCRUDを利用して、独自のCMSを構築していけそうです。

また、豊富な拡張機能も用意されています。それらの機能は、composerを使って簡単に追加することが可能です。

しばらくは、laravel-adminを使っていろいろ試していきたいと思います。

laravel-adminの構築予定

  • 初期設定
  • 日本語化
  • ユーザー管理ワークフロー
  • CRUD利用

などなど

■laravel-admin
http://laravel-admin.org/