何も知らない Cakeユーザー が Laravel8 入門を Jetstream で着地するまで
こんにちは、うのです。PHPを使ってサービス開発をしています。普段はPHPフレームワークには CakePHP を選択して仕事をしていますが、Laravel が最近気になってきたので、触ってみました。
環境構築までをまとめてみましたので、参考にどうぞ。
2021/01/22 追記: 続きの記事を公開しました!
▼続きはこちら
CakePHPユーザーのための Laravel Livewire 超入門
目次
Laravel入門者の苦悩
Laravel 初めてだから、早速ガイドを観ようーと思って公式のガイドにアクセスしてみたところ、
なんと最新版の Laravel8 のガイドにはイントロダクションもないし、クイックスタートもない。最新のクイックスタートは v4.2 のもの。5年以上前。古い。どういうことよコレ。
さらに、Laravel8, Laravel7, Laravel6以前 の間で全然内容が違うみたいで、さらに Laravel7 も 8 もリリースされたのは今年の出来事。さらにさらに、長期サポートが受けられるのは6まで。
おーそうかい。どれを使えばいいのか全然わからんぞ。
あきらめてブログなどをあたって調べてみると、Lareavel8 でリリースされた機能に 「Jetstreamパッケージ」 なるものがあるらしい。ユーザーの新規登録、メール認証、2段階認証、プロフィール編集画面、アクセスログ、さらには権限までが、インストールするだけで完成するんだそうですよ。
ぃゃなんだそれは。ふーん、便利じゃん。
……と、いうことで、ほぼ興味だけで Laravel8 をJetstreamで入門してみることにしました。
なんとか環境構築までこぎつけました。参考になれば幸いです。
参考にさせていただいた記事
と意気込んでみたはいいけど、Laravel のインストールには composer を使うのに、Jetstream のインストールには node.js を使うようで。
両方別々に使ったことはあるけど、同時に使うのは全然イメージわかない……!
ということで、構築済みのDockerイメージを探して使うことにしました。丸投げ最高。
参考にさせていただいたのは以下の記事です。
これらの記事はGitHubのリポジトリに紐づいていて、ソースがDLできます。今回はこれを全力で利用します。
「Dockerって何?」って人も上記の記事を読めばなんとなくわかると思うので、一度読んで戻ってきてください。
何はともあれ Docker を立ち上げよう
やることは簡単です。
- 1. 必要なソフトウェアをインストール
- 2. Gitからソースをダウンロード
- 3. Docker-compose で Dockerコンテナ を立ち上げ
- 4. Jetstream をダウンロード&インストール
1. 必要なソフトウェアをインストール
これからの作業をするためには、以下のソフトウェアが必要です。
- Docker Desktop
- 【Windowsユーザーだけ】 make for Windows
makeに関しては、「Windows10でmakeしたい」が参考になります。これはインストールしたらパスを通して、再起動をするのが必要なヤツです。
以下、コードエディターは VS Code を想定して記述しますが、持っていない人はこちらもインストールするか、適宜読み替えて下さい。
2. Gitからソースをダウンロード
GitHubに公開されてるテンプレート「docker-laravel」をダウンロード・解凍します。GitHubにアカウントを持っている人は、「Use This Template」をクリックすると、自身のリポジトリにコピーが追加されるので便利です。
3. Docker-compose で Dockerコンテナ を立ち上げ
ダウンロード・解凍したフォルダを VS Code で開き、ターミナルを立ち上げます。コマンドプロンプトを開いて、フォルダに移動してもいいです。
立ち上げたターミナルで、
を実行すると、Laravelのインストールと起動が始まります。
終了したら http://localhost にアクセスしてください。Laravel が動作しているのが見えるはずです。
失敗するときは
インストールに失敗する場合は、使用するDockerイメージのバージョンを見直すと良いかもしれません。僕の場合は、 node.js と nginx のバージョンに問題があったので、
/infra/docker/nginx/Dockerfile
の最初のブロック
を
に変更しました。それぞれ最新のDockerイメージを使うように変更した形です。
4. Jetstream をダウンロード&インストール
問題なく立ち上がったら、次のコマンドを実行します。
終わったら、再び http://localhost にアクセスしてみてください。ヘッダに 「Login」 「Register」 (それぞれログインと新規会員登録の意味)が表示されるハズです。
この時点で、なんと
- 新規会員登録
- ログイン
- 2段階認証
- プロフィール編集
- アクセスログの収集
が完成してます。やば。
【閑話休題】 make って何をしたのさ
途中で
を実行してね、と言いましたが、Windowsユーザーには馴染みが薄いものですねこれは何かというと、 マクロです。
マクロの定義は Makefile というファイルにしてあります。内容的にはこんな感じ。
ここに書いてある「up」とか「build」とかが、先ほど make create-project
と実行したのと同じように実行できるわけです。Docker はなんだかんだコマンド操作が多いから、これは便利。
「docker-laravel」には他にも沢山マクロの定義があるので、困ったときはMakefileの中身を参照してみるといいと思います。(丸投げ)
Laravel入門 を Jetstream で着地しました
今まで苦労して作成していた機能が、本当にインストールするだけで完成してしまいました。驚きです。
composer だけでいいと思っていたら、Jetstreamをインストールするのに node.js が必要って分かった瞬間に思考放棄モードになってDocker に丸投げを決め込んだわけですが。
とりあえず覚えることが多そうだなぁという印象ですね。
でもこれだけの仕組みを公式で用意してくれているなら、覚えてみようという気力も湧いてくるというものです。
とはいえまだ環境構築をしただけなので、後で「クイックスタート Laravel8 版」みたいな記事を書きたいなぁと思います。
2021/01/22 追記: 続きの記事を公開しました!
▼続きはこちら