icon
logo
2021-01-15 10:00

Laravelで作るTodo管理Webアプリケーション#15. 動作確認

Laravel Todo 15 Hero

全ての実装が完了したので、ブラウザから動作を確認します。 以下の表の項目を元に動作確認を行います。 折角なので、表をもとにアプリケーション内にテスト項目を作成します。 SQLは以下のようになります。 下記のコマンドを実行し、テスト項目をimportします。 SQLは上記のものを2行にまとめました。 実行し、タスク一覧画面を開くと、以下のようにテスト項目が表示されます。 動作確認ができたものは完了していきます。 全てのテストが完了しました。 Laravelを使ったtodoアプケーションの実装は以上となります。 今回はタスク管理のためのシンプルなマルチページアプリケーションを作成しました。 バックエンド、フロントエンドと両方作成したので、ボリュームも結構あったと思います。 ここまで読んで下さ

2021-01-14 10:00

Laravelで作るTodo管理Webアプリケーション#14. バリデーション

Laravel Todo 14 Hero

最後に、フォームのバリデーションを追加します。 現在の実装でアプリケーションはある程度正常に動作しますが、タスクやカテゴリの登録時、タイトルを空で登録するとDBのエラーが表示されてしまうという問題があります。 例えば、以下のようなエラー画面が表示されます。 そこで、コントローラにエラー処理を追加し、ユーザーにわかりやすくエラーの内容を表示するように修正します。 修正内容としては、titleが空だった場合、$errorという変数をコントローラからテンプレートに渡し、画面にエラーメッセージを表示することとします。 以下のようにRequestオブジェクトが持つvalidate()メソッドを利用することで、今回の望み通りの処理が行われます。 この場合、「title」が空でリクエストされた場合、DB

2021-01-13 10:00

Laravelで作るTodo管理Webアプリケーション#13. ビュー修正

Laravel Todo 13 Hero

この章ではコントローラで取得したDBの値を画面に表示するための修正を行います。 「resources/views/tasks/index.blade.php」を以下の通り修正します。 タスク1、タスク2とハードコーディングしていた部分を削除し、コントローラ側から渡された$categories変数を参照するよう修正しました。 また、タスクのcompletedがfalse(未完了)の場合のみ「完了」リンクを表示するよう実装し、完了したタスクは打ち消し線が表示されるようにしています。 「resources/views/tasks/edit.blade.php」を以下の通り修正します。 コントローラ側から渡されたタスクのtitleがフォームに表示されるようにし、更新・削除リクエストの際に表示中のタス

2021-01-12 10:00

Laravelで作るTodo管理Webアプリケーション#12. コントローラ実装

Laravel Todo 12 Hero

9章で作成したTaskController、CategoryControllerの中身を実装していきます。 実装する内容については設計の際に提示した通りとなりますが、以下のようになります。 今回、細かい仕様については文章化していませんが、テストの内容が実質的にそれに相当します。 コントローラの実装を進めるに当たり、前章にて作成したテストを随時実行しながら進めていきます。 全てのテストがパスできたらコントローラの実装(エラー処理以外)は完了となります。 実装を進める際に、コントローラの動作を簡単に確認したい場合があるかと思います。 最も手っ取り早いのは以下のようにしてコンソールに出力することです。 タスク作成処理を例にとって説明します。 TaskControllerのcreateメソッドを以下

2021-01-11 10:00

Laravelで作るTodo管理Webアプリケーション#11. テスト

Laravel Todo 11 Hero

コントローラのテストを作成します。 Laravelではプロジェクト作成時にテストのサンプル「tests/Unit/ExampleTest.php」と「tests/Feature/ExampleTest.php」が作成されるので、まずはそれを実行してみます。 テストに成功するとこのように表示されます。 こちらのサンプルはもう利用しないので削除しておきます。 次に、TaskControllerとCategoryControllerについてのFeatureテストを作成します。 成功するとtests/Feature以下に「TaskTest.php」と「CategoryTest.php」が生成されます。 まず、こちらの章では正常系のFeatureテストを追加していきます。 TaskTest.phpを以

1