Laravel備忘録:なかなか慣れない命名規則

Laravel備忘録:なかなか慣れない命名規則

フレームワークの命名規制について

社内ECであるためフレームワークとは無縁で今まで生きてきました。
そんな自由なプログラムミングが土台にある為「命名規制がウザい!」と感じるのですが、フレームワークを利用する以上避けて通れません。

命名規制の利点はルールに沿っていれば勝手に繋げてくれる事です。
逆読みすれば命名規制に沿った書き型でない場合はマニュアルなどの記載をコピーしてもうまく動作しないとなります。

ついつい忘れる命名ルールを備忘録として記します。

テーブル名のルール

  • そのテーブルの表すものを小文字の複数形で表記する。
  • リレーション先のidをカラムに収める場合は【単数名_id】とする。
  • 2つのテーブルの中間テーブルは【単数名_単数名】でテーブルを作り【単数名_id】のカラムを内包させる

例えば、商品サイズであれば 【item_sizes】がテーブル名となります。
item_sizesテーブルでitemsテーブルのidを記載するカラムは【item_id】となります。

小文字で記入するため2つ以上の単語を使うテーブルはスネーク記法(アンダースコアで接続)で記載します。

モデル名のルール

  • テーブル名を単数形で記載する。
  • 複数ワードの場合はキャメル記法で命名する。

例えば、テーブル名:item_sizes に対応するモデル名は【ItemSize】となります。

コントローラ名のルール

  • モデルを主に利用するコントローラーではモデル複数名+キャメル記法で命名する。
  • 最後にControllerを付け加える。

例えば、モデル名:ItemSize を利用するコントローラー名は【ItemSizesController】となります。

但し、1つのコントローラーで複数のモデルを読み込むことはよく発生します。その為、あくまで基本ルールとしてとらえていて良いようです。実際の記載例を確認すると、単数で記載しているもの/機能名でまとめているもの など多数の命名がありました。

ビュー名のルール

  • スネーク記法で記載

例えば、コントローラー名:ItemSizesController の中の function create を利用する場合【item_sizes_create.blade.php】と命名します。

まとめ

Laravelは他のフレームワークよりも命名規制が緩いとの事。
マジですか、これでもかなりキツイと感じているのですが…。

ただ、現状の自作システムは「セキュリティーに弱い」「機能更新を効率的に行えない」など多数の指摘を頂きました。
現在の減点ポイントはフレームワーク利用で大幅改善どころか超強化されるとの事。
そのため、フレームワーク化は一般化のかなり重要なポジションにいます。

避けて通れない以上、慣れるしかないですね。
頑張ります!