この連載記事では、Laravel を使用した Web アプリケーションの開発方法を紹介します。実際に(お決まりの?)ToDo アプリを開発する手順を通して Web 開発のエッセンスを学んでいただけるように書いていきます。取り扱う Laravel のバージョンは現時点で最新の 5.7 です。
はじめに
対象者
Web 開発、特にフレームワークを用いた開発の経験が浅い方を対象としています。他の言語やフレームワークの経験があって Laravel について知りたい方にも参考にしていただけると幸いです。
学ぶこと、学ばないこと
このチュートリアルでは Laravel の基本機能を学ぶこと、「フレームワークってこんな感じなんだ」という理解を得ていただくことを目的としています。次のステップを自身で踏み出すきっかけになればいいなと思っています。
そのため、例えばメソッドのオプションの一覧などリファレンス的・網羅的な解説は行いません。より詳しく知りたい方は下記に挙げる参考文献を参照してください。
またできるだけ内容を Laravel の機能に絞りたいので、CSS や JavaScript は扱いません。必要な CSS はあらかじめ提示しますし、JavaScript はできる限り使わない設計で進めます。
参考文献
マニュアル
Laravel の魅力の一つはマニュアルが充実していることです
公式ではありませんが有志の日本語訳も公開されています。
書籍
日本語の書籍も出版されています。
私は読んでいませんが、参考までに載せておきます。
開発環境について
開発を進めるにあたって必要なツール(エディタ、データベースクライアント、ターミナル)を紹介します。お気に入りのツールを使えばよいと思いますが、始めたばかりで何を使えばいいか分からないという方は参考にしてください。
エディタ
コードを書くには当然エディタが必要ですね。
PHPStorm
PHPStorm は有料の IDE で JetBrains 社によるプロダクトの一つです(JetBrains 社は Android アプリ開発言語として Google から公認された Kotlin の開発元としても有名でしょうか)。コード補完や定義元へのジャンプ、リファクタリングなど機能豊富でとても賢く使いやすく、非常におすすめです。個人利用の場合、年額プランだと $89(10,000円くらい)、月額プランだと $8.9(1,000円くらい)です。そんなに高くないですし、30日間の無料試用期間があるので使ってみてください。
VS Code
どうしても無料がいいという人は VS Code などのテキストエディタを使うことになるでしょう。VS Code では PHP Intelephense というプラグインを入れるとある程度コード補完が効くらしいです。
データベースクライアント
データベースクライアントとは、データベースの操作をするためのアプリケーションで、SQL の結果を綺麗に整形して見せてくれたりします。
A5SQL Mk-2(Win)
A5SQL Mk-2 は Windows 向けのデータベースクライアントです。日本人開発者によって個人開発されていますが、ER 図作成までできる高機能アプリです。個人的には Windows がうらやましくなる数少ないアプリの一つです。
PSequel(Mac / PostgreSQL)
Mac 環境で PostgreSQL を扱うなら PSequel が良いようです。
Sequel Pro(Mac / MySQL)
ちなみに Mac 環境で MySQL ならば Sequel Pro が無難なチョイスでしょう。
ターミナル
コマンドラインの操作が多い Laravel 開発ではターミナルも必須ですね。
Hyper
Mac 環境ならば Terminal.app でも十分ですが、見た目をカッコよくカスタマイズできる Hyper もおすすめしておきます。
Git Bash
Windows 環境の方は Git Bash を利用すれば Linux コマンドを使うことができます。Win 版の Git をインストールすると一緒についてきますね。
このチュートリアルでは、Win 環境でも Git Bash をお使いの前提でターミナルの操作は Linux コマンドのみ載せます。
作るもの
今回のチュートリアルを通して作成する ToDo アプリについて紹介します。全部で8画面あり、認証機能まで備えたアプリケーションを作成していきます。
タスク一覧ページ
トップページではフォルダごとに管理されたタスクの一覧を見ることができます。左のパネルにフォルダの一覧、右のパネルにタスクの一覧が表示されています。左パネルで選択されたフォルダは背景が水色になり、そのフォルダに紐づくタスクのみが右パネルに表示されます。
フォルダ作成ページ
フォルダ作成ページではフォルダの名前を入力します。
タスク作成ページ
タスク作成ページでは、タイトルと期限を設定します。
タスク編集ページ
タスク編集ページでは、タイトルと期限の他に状態(未着手→着手中→完了)を設定することができます。
ログインページ
ログインページも作成します。最終的にはログイン中のユーザーのタスクのみ表示するように実装します。
会員登録ページ
会員登録ではメールアドレス、ユーザー名、パスワードを入力します。
パスワード再設定メール送信ページ
パスワード再設定機能も実装します。こちらはパスワード再設定ページへのリンクをメールで送信するためのページです。
パスワード再設定ページ
このページでパスワードを再設定します。
環境構築
この章の最後に、環境構築方法を紹介します。
というか基本的には過去記事に書いてあるのでそちらを参照してください。
環境構築方法には Homestead と Laravel Valet の二通りあります。Windows の方は Homestead 一択ですが、Mac の方はどちらか選ぶことができます。
ちなみに、データベースは今回は PostgreSQL を使用したいと思います。Homestead の場合は仮想環境に最初から入っているのであまり気にする必要はありません。Valet を選択する場合は、あらかじめローカルマシンに PostgreSQL をインストールしておいてください。
Homestead
Homestead を使用する方はこちらの記事→「Laravel開発のはじめかた Windows編」を参考にしてください。Windows 編と銘打っていますが、要は Homestead での開発環境構築方法なので Mac でも同じ手順で OK なはずです。
一つ、上の記事に書いていないことで注意点です。チュートリアルアプリ用のデータベースを追加したいので、Homestead.yml
の database
を編集してください。
databases:
- homestead
- todo # ← この行を追加
Valet
Laravel Valet を使用する方はこちらの記事→「MacでLaravel開発するならローカルの環境構築はValetもオススメ」を参考にしてください。
Homestead の場合と同じように、todo データベースを作成しておいてください。
以上、この記事では「入門Laravelチュートリアル」の第1章として但し書き、参考文献、開発ツールの紹介、作るものの前フリ、そして環境構築までを書きました。
次回の記事ではアプリケーションの設計に入っていきたいと思います。
連載記事
- 入門Laravelチュートリアル (1) イントロダクション
- 入門Laravelチュートリアル (2) ToDoアプリケーションの設計
- 入門Laravelチュートリアル (3) ToDoアプリのフォルダ一覧表示機能を作る
- 入門Laravelチュートリアル (4) ToDoアプリのタスク一覧表示機能を作る
- 入門Laravelチュートリアル (5) ToDoアプリのフォルダ作成機能を作る
- 入門Laravelチュートリアル (6) ToDoアプリのタスク作成機能を作る
- 入門Laravelチュートリアル (7) ToDoアプリのタスク編集機能を作る
- 入門Laravelチュートリアル (8) ToDoアプリの認証機能を作る
- 入門Laravelチュートリアル (9) ToDoアプリの認証機能を作る パート2
- 入門Laravelチュートリアル (10) エラーハンドリング
- 入門Laravelチュートリアル (11) ToDoアプリをHerokuにデプロイする