MVCモデルの『あるある』ファイルが多くて大混乱

MVCモデルの『あるある』ファイルが多くて大混乱

MVCモデルの『あるある』ファイルが多くて大混乱

MVCモデルの基本形では、Model/Controller/Viewと色んなファイルがテーブルごとに作られます。

これが大混乱の元凶。

という事で作り方の『段取り』についてのお話です。

Laravelでやっちゃいけなかった事

テーブル構成が決まり、後はビュワーとCRUDだと考えた時点で、決定しているすべてのテーブルのMigrationとModelの外枠だけ作っちゃおうとartizanコマンドを実行。

php artisan make:maigration create_hogehoges_table

php artisan make:seeder HogehogesTableSeeder

php artisan make:Model Hogehoge

php artisan make:controller HogehogeContoroller –resource

makeを実行したのでファイルが作成されます。
これを構想したテーブル数(約100)実行。「よし!あとは書くだけだ」と思った矢先に出ばなをくじかれます。

「ファイル数が多すぎで探すのが大変…。」

Laravelではmaigrationは日時と共に命名されている為、テーブル名の順に並びません。
また、すべてのデータがmaigrationsに格納されていてその中から探す必要があります。

ここら辺はDjangoの方が整理整頓されて見やすいと感じますが、そんな事を言ってもしょうがない。やってくしかないですよね。

どうして一気にartisan makeで作ったか

最初のころは1テーブルごとにCRUDを作っていました。ちゃんと作れるかって所が問題ですから当然ですね。
この段取りのいいところは操作するビューと実行するコントローラーのどちらが間違えているかが簡単に見つけられるだけではなく、対象ファイルをIDEで開きっぱなしに出来る事です。

DBアプリはどうしても複数のテーブルを絡めてViewerを作成する事になります。
最初は簡単なところで作成していましたが、慣れ始めれば本丸の複数テーブルが絡む構造に着手する事になります。
そこで毎回SSHでartisan make打つより「一気に全部作ってしまえ」と発想したわけです。

1つのビューワ―で複数のテーブルを閲覧したり更新させたりといった動作を扱う為、使用するファイルの数が増えます。
それに伴いIDEで開いているファイルも増加、アッチとコッチを行き来して確認して記載するなんて作業になるともう大混乱です。

 改善のための唯一の方法

ファイルが多くなって探すのが大変になった時、私が行って効果があったことは一覧表を作る事でした。
とても面倒で一見余計な手間に感じますが、Excelなどに『テーブル一覧』『リレーションする値』を抜き出し表にする事です。

これを出力し手元に置いておくだけでファイルを開いたり閉じたりといった操作は大幅に減りました。

当然作りながら変わっていく事はありますので、その時は手元の表に書き込み修正していきます。
一見遠回りですが、実際には大きな時間短縮になっています。

まとめ

Laravelではファイル数が多くなると目的のファイルを探すのが大変になる。

その解決にはエクセルなどで作成したテーブル一覧が役立つ。