2011-07-02 11 views
0

私は、フレームワークは、「開発者のためのケージことshouldnと思いますし、Kohanaのは、多くの自由を与えるので、私はちょうど、他の人は2アクションに関連した事柄を扱うないか疑問に思って:Kohanaの3つの内部アクション

  1. 内部行動。私は本当に長いアクションがある場合、internal_action、internal_someotheractionのようないくつかのサブアクションに分割します。あなたはどう思いますか?いいですか?あるいは、コントローラの標準的な動作の他の機能を避けることができますか?そして、おそらくdetecはinternalyと呼ばれるアクションですか?

  2. 場合によっては、$this->action_other;return;を実行して他のアクションにリダイレクトしたいのですか?または、常に新しいHMVCリダイレクトを作成しますか?

答えて

0

私はしばしば、単一のコントローラ内またはコントローラセット内のパブリックアクション間で機能を共有する必要があることを発見します。したがって、私はプライベートまたは保護されたメソッドを作成してコントローラ内でタスクを実行するか、コントローラのいくつかを拡張して目的の機能を利用および/または指定できるベースコントローラを作成します。

特に、フォーム処理シナリオでは、特定のアクションの出力を生成したり関連付けたりしませんが、必要に応じて要求されたアクションを処理した後に別のアクションを呼び出して出力を処理します。私は通常、これらのシナリオではHMVCを使用しません。なぜなら、私は簡単に必要なロジックを得ることができるからです。私は、HMVCリクエストを使用して、別のコントローラ内のロジックとコードを使用して、適切な出力/ビューを収集して入力するシナリオで終了します。必要なデータがすでにある場合は、現在のコントローラのビューを使用するだけです。

私はベストプラクティスについて話すことはできませんが、あなたのシナリオに大きく左右されます。確かに、すべてのものに対してHMVCリクエストを行うには、不必要なオーバーヘッドが必要です。

+0

ええ、私はいつも状況に依存していると思っています。なぜなら、コナナにはさまざまな方法があるからです。時々私はコントローラー固有のものであればコントローラー内のプライベート関数を実行します。私もコントローラの継承を使用します - あなたが言及したように。ユニバーサルでリジューム可能なコントローラーがヘルパーに加わります。 HMVCは便利ですが、必ずしもそうとは限りません。 – Luigi