#4 管理画面を作る(だけ)

管理画面を作りたい!しかし、まだ手をつけないのでとりあえず作りたい。

laravel-adminなるものが爆速できるっピよ。と聞いたので、そのとおりにインスト〜〜〜ルする。

composer require encore/laravel-admin

このコマンドを打ったら必要そうなものがインストールされてるぽい。

composer コンポーザーで
require パッケージを入れたい
encore/laravel-admin laravel-adminを!
というコマンドだ!次にこのコマンド。

php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

php phpで実行
artisan LaravelのCLI、artisanを使う
vendor:publish 指定パッケージに必要なものをプロジェクトに移動
--provider サービスプロバイダにAdminを追加する

vendor:publishは設定ファイルやなんだかんだのファイルを使える場所に移動・追記などしてくれるみたい。ほ〜便利ねえ。
サービスプロバイダとは、最初にロードされるやつ(イベントリスナとかフィルターとからしい)で、そのひとつとして登録してちょということ。
結局のところ、イカしたフレームワークも、書いたことしか実行できないので、地道な「これ読んで」「これ追記して」という作業が必要になるんだね。

php artisan admin:install

admin:install インストール

これでDBマイグレーションが走り、admin関係のテーブルが作成される。マイグレーションっていうのは、テーブル操作のこと。

URLの末尾に/adminとつけたら、管理画面が表示された!ワ〜イ

おめでとうぴいこちゃん

ID/PASSがわからなかったけど、調べたらadmin/adminだった。パスワードは適当に変更するとして、ログイン後はこんなかんじ。

このおじさんが私…?

パスワードを変えようとおじさんアイコンをクリックしてSettingを押すと、どうもエラーが出ている。
Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
おけ!わかんないから検索しよ!

検索した。filesystems.phpに以下のように追記した(disks>admin)。

    'disks' => [

(略)

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

ページを再読み込みすると、public/uploadsが作れないよ!とエラーがでたので、パーミッションを設定する。

chown -R _www:staff public

これでいいのかな〜?わからんが…とにかくlogsなど、Apacheが作成するファイルは_www:staffだったのでそちらに合わせる。
動いた!やったー

パスワード変更、ログアウト、再ログインしたら成功したのでよかったぽよ

おじさんがアイコンなのが嫌なので、飼い猫しぃさんの画像をアップロードした。gitがそれも管理しまっせ!と言ってきたので、待て待て…と、gitignoreに追記した。

/public/uploads

アップロードは正しくできたみたいだけど、画像が表示されない。しょぼん…。
よく画像のパスを見たら、開発環境はドメインがkochikame.localhostなのに、画像のパスはlocalhostになってる。どこかに設定ファイルがあるな!
.envのAPP_URLを正しく設定したら画像がでた。よかったぽよ

とりあえず管理画面はできたっぽいので、次回はモデルを作る(はず。それがFWのセオリーかなーと思うけど、どーなのカナ???)

もし投稿が気に入ってもらえたら、サポートいただけるととても嬉しいです!