Contents
はじめに
いっつも脳筋で動く我流なので、定石通りにLaravelを使ってみようと思った。
ブートキャンプがてら。
前提条件
Laravel Sailがdockerにて環境構築されていること
目標
https://note.com/kurogoma939/n/n6623d7002690
App
├── Http
│ ├── Controllers
│ ├── Middleware
│ └── Requests
├── Providers
├── Services
├── Repositories
├── Models
├── Views
├── Assets
└── Tests
上記の基本アーキテクチャを意識しクラスを適切に分け、冗長しがちなcontrollerの視認性を上げる
仕様
利用者権限と機能
- 管理者
- 管理者ログイン
- 記事投稿者一覧表示
- 記事投稿者登録、削除
- 記事一覧表示、論理削除
- 記事投稿者
- 記事投稿者アカウント作成、ログイン
- 自身の記事として記事投稿、編集、削除
- 自身のプロフィール表示
コメントをつけるアカウントは特に設けません。
個人的には目新しいことやってないな…(´・ω・`)
今更Laravel Jetstreamを試す
ログイン認証にてプラグインを使ってみます。
公式を参照しつつインストール
https://jetstream.laravel.com/installation.html
composer require laravel/jetstream
jetstreamのUIに Inertia か Livewire かを選択させられるが、
Livewire→PHP + Bladeで作成されたscaffolding(プロファイル画面など)
Inertia→vue.jsで作成されたscaffolding(プロファイル画面など)
なので、Livewire
php artisan jetstream:install livewire
実行後、Laravel sailが立ち上がってないようなら立ち上げ、laravel.testコンテナに入り、
php artisan migrate
http://127.0.0.1/ の右端に Login Register が表示されればOK。
register および login
registerにて登録後、/dashboard に遷移。
ログイン後も同様。
nameの重複確認はしてくれない…
簡単なプロフィールの修正ができるようです。
よく使う設定
アカウント登録時に規約に承諾させたい場合
config/jetstream.php の以下の行のコメントアウトを外します。
Features::termsAndPrivacyPolicy(),
プロフィール写真を登録させたい場合
usersテーブルのカラムをよく見ると profile_photo_path がありますが、プロフィール画面にはありません。
活性化するには、config/jetstream.php の以下の行のコメントアウトを外します。
Features::profilePhotos(),
その他の項目を追加したい場合
自己紹介文などusersテーブルのカラムにないものを追加したい場合は、別テーブルを使う方法を取りたいと思います。
こちらは別ポストにてそのうち紹介します。
さて…
これ権限分けできるのかしら?
なんかjetstreamのインストール方法を間違えた気がしてるけど…。
追記
jetstreamのインストール時のコマンドを間違えていた
https://biz.addisteria.com/jetstream_teams/
ちくしょうやっぱり間違えてたw
php artisan jetstream:install livewire --teams
にしなきゃダメだったんだ。
うーん…もうちょっと真面目に追うか。
そもそもログインプラグインの選定を誤っていた
Qiitaからコピペしつつマルチログインの実装を試みていたんですが…なんかおかしい。
なんかやり方が陳腐じゃね?
と思いよくよく調べると、これLaravel11。Laravel Breezeを使うのがモダンらしい。
Laravelのインストールからやり直し。どっとはらい。
To be continued…