LoginSignup
4
4

More than 3 years have passed since last update.

Laravel Nova使ってみた

Last updated at Posted at 2019-06-17

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を修正

web.php
Auth::routes(['register' => false]);

src/app/Http/Auth/RegisterController.phpを削除

管理画面にログインしてみる

/novaでログインページへ

ログイン完了
スクリーンショット 2019-06-17 14.50.08.png

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4