0

これは、MVC アーキテクチャを使用するプロジェクトのコーディング スタイルに関する質問です。

Yii フレームワークを使用したプロジェクトに取り組んでいます。各データベース テーブルには独自のモデル クラスがあり、Yii の Active Record 機能を利用できます。涼しい。

しかし今、複雑なロジックと多数のテーブルが結合された SQL クエリを実行する必要があります。これを行うための最良かつ最も迅速な方法は、生の SQL を記述し、それを何らかのgetSomeComplexLogicDataメソッドに入れることです。

問題は、このメソッドをどこに置くかです。それを呼び出しているコントローラーに残すのは良い習慣ですか (他の場所で再利用される可能性はほとんどありません)、それとも最適に対応する Model クラスに配置する必要がありますか?

4

2 に答える 2

2

1) このメソッドを components/Controller.php に配置して、このメソッドを各アプリケーション コントローラーで使用できるようにします。

2) 最善の方法は、独自のコンポーネントを作成することです。コントローラー、モデル、ビューからコンポーネントを呼び出すことができます。

Yii::app()->yourcomponentname->methodname

コンポーネントの作成方法を学ぶためのリンク: http://www.yiiframework.com/wiki/187/how-to-write-a-simple-application-component/

于 2012-09-27T14:19:37.880 に答える