6 つ以上のコントローラーで使用される多くの関数を作成する必要があります。だから...共有機能:
この機能には以下が必要です:
- モデル アクセス
- データベース アクセス
- ライブラリ アクセス
- ベンダー アクセス
- プラグイン アクセス
- リダイレクトを表示
- 戻りパラメータ (コールバック)
最善の方法は何ですか?
- リブ
- 成分
- 行動
- ベンダー
私のウェブサイトの構成:
- CakePHP 2.3
- MySQL 5.5
- PHP5.3.9
- アパッチ 2.2
私の英語でごめんなさい。ありがとう。
Helpers are for (multiple) views
Behaviors are for (multiple) models
Tasks are for (multiple) shells
Components are for (multiple) controllers
したがって、これらの機能をコントローラー間で共有する場合、論理的な答えはコンポーネントを使用することです。
提供された残りの「オプション」はすべて、少なくとも 1 つの理由で失敗します。
ただし、モデルのものをモデルレイヤーの近くに保持する必要があり、コントローラー/コンポーネントのモデルメソッドを介してのみ使用する必要があることに注意してください。それらのコンポーネントを強力なモデルなどにしないでください。それらは、コントローラー間で「ロジック」を共有するためのものです。
これらの関数を Appcontroller ファイルに記述して、グローバルにアクセスできるようにするだけです。