したがって、私は Zend 2 と MVC 全体にかなり慣れていないため、コードを再利用可能で理解しやすいものにするためのベスト プラクティスに従う必要がある状況に陥っています。
私が対処したい特定のシナリオは次のとおりです。ユーザーが記事を送信できる編集アプリケーションを作成しているとしますが、公開する前に承認を受ける必要があります。記事 /article/view/101 にアクセスすると、片面 (ステータス、作成者、日付、タイトル、本文) に記事情報が表示されたページが表示され、サイドバーには一連のアクションが表示されます。
一連のアクション (リンク) は、記事を表示しているユーザーのタイプ (ゲスト、ユーザー、レビュアー、または管理者) と、記事のステータス (ドラフト、完成、公開) に基づいて変化します。
問題は、サイドバーに配置するアクション (リンク) を決定するビジネス ロジックを MVC モデルのどこに配置すればよいかということです。
- そこにビジネスロジックを追加し、HTMLも追加するため(悪い+悪い)、コントローラーは適切ではないようです
- ビジネスロジックを追加するため、ビューも機能しません。
- HTMLを追加するか、そこからパーシャルを呼び出すように思われるため、サービスが機能していないようであり、それも行うべきではありません...
私が考えることができる唯一のことは、サービスまたはヘルパーでビジネスロジックを実行し(記事とユーザーの複数のモデルが必要であるため)、アクションの「配列」(HTMLなし)を返すことです。次に、ビューはそれらを処理して実際に HTML を取得しますが、それがそれを行う方法であるかどうかはわかりません。経験豊富な入力が必要でした。