エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

Laravelでテーブル名でModelを作る理由を考える【231日目】

あくまで考察

あくまで考察。予想です。

私はこれでいいと思った

$user = new Model('Users');

こんな感じにテーブル名指定すればいいんじゃね?って。

User.phpを作るにしても、その時点でユーザーはDB意識してるじゃんって。

DB意識させない

最初にUser.phpを作る人は少しDBのテーブル名を意識する必要がある。

けど、その後は?

別な人が引き継いで開発する時に、
User.phpを見て、Userというオブジェクトを意識するだけで良い。
そこにはDBの意識はいらない。

個別カスタマイズ

Modelが汎用的な関数を実装していても、
バリデーションや関数のオーバーライドなど、
先に仕込むことができる。

また、各テーブルの特殊な仕様も、
Userというオブジェクトの仕様として捉えられるので、
同じくDB意識しなくてもいい。
ソースコード読めばいいしね。

感想

フレームワークは思ったよりユーザーに様々なことを意識させないでいてくれる。

ORマッパーを自作する勉強をしているが、Laravelがいかに様々な問題を意識させずに開発させてくれているかを改めて知ることができた。

こういったフレームワークの挙動の考察は定期的にやる方が技術の向上につながると思うのでおすすめです!