CakePHP のビューに表示ロジックを配置するためのベストプラクティス
-
02-07-2019 - |
質問
CakePHP 1.2 アプリケーションがあります。
ビュー内で正しくレンダリングするためにいくつかのロジックを実行する必要があるケースに遭遇しています。
例:Types というテーブルがあります。さまざまなタイプのフラグがあるため、各行には 1 つ以上の BOOL フィールドが設定されています。あるタイプの場合、RTF のコンテンツを別のフィールドに保存します。
したがって、ビューにすべてのタイプミスのリストを表示するときに、RTF を保存するタイプのリンクを作成したいと考えています。それ以外の場合はリンクを表示したくありません。
このロジックに最適な場所はどこでしょうか?
html->link を使用してリンクを作成したいのですが、モデル内でそれを使用できません。ロジックをモデルに含めるべきか、そうであれば、モデル内に HTML を構築する必要があります。リンク?
解決
そのロジックをビュー内に保持することをお勧めします。モデル内に HTML を構築すると、ビューとモデル全体の分離が壊れます。ビューロジックに問題があるとは思いませんが、個人的にはそれを基本的な条件文に制限する傾向があります。
最終的には、このロジックがどこに最も適しているかを見つけ出すことが重要だと思います。この場合のロジックは、「特定の型がある場合は、それへのリンクを提供する必要がある」というものですが、これはビューの問題であり、モデルの問題ではありません。
他のヒント
HtmlHelper を拡張してチェックを行う独自の AppHtmlHelper を構築します。
所属していません StackOverflow