Laravel Novaとは
Laravelの開発者であるTaylor Otwellが発表した公式の管理画面作成用のパッケージ。
優れたデザイン性を持った管理画面を構築することができます。
既存のLaravelアプリケーションに簡単に導入することが可能で、その他にもいろいろな機能を持っており、
簡単な操作でカスタマイズができる。
Laravel adminとの違い
- OSSではなく、ライセンスを買う必要がある。
- jQueryベースの「Laravel-admin」と、Vue.jsベースの「Laravel Nova」。実装コード量が少なく済む。
- 新機能を簡単に追加することが出来る。(Cards機能、Metrics機能等)
導入手順
ファイルを直接ダウンロードする方法とcomposer経由でダウンロードする方法の2つ方法があるが、
今回はcomposer経由で行う。
使用するツール
- PhpStorm
- phpMyAdmin
- Git
Laravelインストール
① インストーラーをダウンロード
composer global require "laravel/installer"
② Laravelインストーラにパス通す(環境変数の追加)
PATH=$PATH:~/.composer/vendor/bin
③ 環境変数の更新
export PATH
④ プロジェクトのディレクトリに移動して、laravel設置
laravel new src
⑤.envを編集
データベース名を変更(任意)
DB_DATABASE=laravel-nova
おまけ PhpStormの機能をGitに置く必要はないのでちょこっとイジる
プロジェクト名と同じ階層に新規ファイル「.gitignore」を作成
中身
/.idea
コミット一覧から削除する
git rm -r --cached .idea/
rm 削除
-r ディレクトリを指定
--cached オプションを付けることにより、ファイルを残したまま管理対象から外すことができる。
.idea/ 対象ディレクトリ
phpMyAdminでデータベース作成
データベース名 laravel-nova (.envと一致させる)
charset utf8mb4_unicode_ci
Laravel Novaインストール
①compser.jsonに追記
"license": "MIT",
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0",
"laravel/nova": "*" //ココを追記
},
"repositories": [ //ココを追記
{ //ココを追記
"type": "composer", //ココを追記
"url": "https://nova.laravel.com" //ココを追記
} //ココを追記
], //ココを追記
②追記したらコマンド実行
composer update
③ユーザー名とパスワードを聞かれる
登録した情報を入れても「資格情報が無効です」って言われたら、
④APIトークン認証を聞かれる(Laravel Novaのマイページで確認)
それでもダメなら
⑤composer.jsonと同じ階層に新規ファイル「auth.json」を作成
中身
{
" http-basic ":{
" nova.laravel.com ":{
"ユーザー名":"○☓△□",
"パスワード":"○☓△□"
}
}
}
⑦ここでようやく
php artisan nova:install
導入完了
Auth機能を導入
コマンド実行
composer require laravel/ui
php artisan ui vue --auth
php artisan migrate
npm install
npm run dev
npmコマンドを使用するためにはNode.jsをインストールしておく必要があります。
Node.jsインストール手順
ユーザー登録
/registerでユーザー登録ページに飛びます。
フロント画面からユーザー登録が不要な場合
routes/web.phpを修正
Auth::routes(['register' => false]);
src/app/Http/Auth/RegisterController.phpを削除
管理画面にログインしてみる
/novaでログインページへ