[CakePHP]Controllerの基本的な使い方を覚えよう!

はじめに

  1. Controllerの全体的な構成
  2. Fat Controllerって?
  3. まとめ

こんにちは、Kentaです!

今回はcakedの中枢部分を管理している、

Controllerの基本的な使用方法について説明していこうと思います!

 

Controllerの全体的な構成

Class部分の説明は割愛しまして、Controllerにはどんなメソッドが書かれるのか、

後にそのメソッドに書くべきものは何かを説明していこうと思います!

まずは全体像から~

 

①const,変数

②initialize,コールバックメソッド

③アクション

④その他メソッド

これがよく見るControllerの全体の構成になります。

 

では①から。

定数や変数を単体で定義しておきたいときは、classの一番上に書くと良いと思います。

なぜかというと・・・見やすいから!笑

下の方で、あぁー変数定義してんのねぇー、どこだー?

ってならずに済むので、これはマストだと思います。

はじめに言いますが、Controllerはどれだけ処理が追いやすいかが重視されるので、

こういった一見当たり前そうなことが大切だったりします。

 

どんどんいきます、次は②!

まずinitializeはどのメソッドでも毎度呼び出したいものを書くところ。

コールバックメソッドはそれぞれの用途で扱いますが、共通部分となるので、

これらは部類的に同じで、上に書きます。

もうお分かりかと思いますが、共通かつ重要な使うものは基本的にclassの上に書きます

それらが書き終えたら、ようやくアクションに入ります。

 

③のアクションはctpが存在するものを意味しています。

ここの順番はできれば、処理の順番、言うところのページ遷移順で良いかと。

例えば、入力→確認→完了だったら、add→confirm→completeの順のほうが

処理を追いやすいですよね。

 

④は削除機能だったりダウンロード機能だったり、共通で使うには使うけれども、

あくまで機能という位置づけなので一番下に書いておくのが賢明ですかね。

 

この流れを意識して書いていくことで、

制作中はもちろん、リファクタリングもリーダブルだと思います!

 

Fat Contorllerって?

先ほどの全体構成を意識するには、見やすさという話をしたと思いますが、

ここではメソッド内での見やすさを意識します!

Fatつまり、メソッドが長いことを意味しています。

単純に処理で長くなるのは全然問題ありません。

ここでFat!って言われてしまう内容を教えますね~。

 

クエリ系の記述は絶対にContorller内に書かないでください!

クエリ自体が短くてもです!

せっかくModelがあるのにControllerで書くのはもったいない。

 

ControllerからViewに文言などの文字列を渡さないこと!

これをやるならHelperってやつがいるので、

無理にControllerでsetしないようにしましょう。

 

まだまだありますが、ひとまずこれだけ守れば、

Controllerの読みやすさはかなり向上するはずです!

 

Controllerで書けるなら書いちゃえーって気持ちもすごくわかりますが、

何ヶ月後にコード見た時に必ず???ってなるので。笑

 

まとめ

今日はこれだけ覚えて帰ってください!

Controllerは共通かつ重要なものが上に来る!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です