何事も段取り8割と言われるように、Laravelでも設計が肝となってきます。
Laravel未体験の方はまず、Laravelチュートリアルをやってみましょう。その後に自分で作りたいものをまず設計からはじめましょう。
- 機能一覧
- 画面設計
- URL設計
- テーブル定義
以上の設計をしたのちに、作っていきます。
機能一覧
今回は以前にPHPで作った簡単なレビューサイトの機能をそのまま持ってきます。
ごくごく、簡易的なものです。
- トップページにはレビューの一覧表示、検索機能
- ユーザー登録機能
- レビュー投稿・編集機能
画面設計
まず作りなさいと言われる画面設計です。これがあると目で機能が見えるようになるので、かなり設計が捗ります。
画面モックはXDで作り、エクセルでまとめました。




このような感じです。画面があると、わかりやすくなります。
URL設計
Laravelでは基本的にRouteから書きます。なので、どのようなURLにするのかを予め決めておく必要があります。
また、getかpostかも指定する必要があるので、これらもまとめて設計します。

テーブル定義

ざっとこんな感じですが、テーブル定義はいつまでたっても慣れませんね…
今回もやっている途中にemail_resetsテーブルを付け加えたり、このカラム必要だなぁと追加したりしました。
こんな感じで設計をしっかりやっておくと、コードを書くのが楽になります。