1

私が抱えている問題は、my_controller.php に 1000 行を超えるコードがあることです。そして、ナビゲートするのに問題はありませんが、そのコントローラーの一部を他のファイルに配置したいと思います。

さらに詳細に:

特定のオブジェクト(およびその子)のCRUD関数(モデル関数、コントローラー関数ではなく、そこにdbクエリがないことを意味します)を含むコントローラーがあります

ここで、CRUD ごとに、コントローラーとして機能する関数 (URL を介してアクセスされるもの、作成部分の場合はフォームを準備します)、フォームからのデータを管理する関数 (取得します) があります。 POST を送信し、それを検証に送信します。問題がなければ、さらなる準備のためにデータを送信します) および検証 (コールバックを介してデータを検証します) および準備 (主に、モデル メソッドを呼び出して、準備されたデータの配列を送信するため)。

このコントローラー内のすべてのオブジェクトの CRUD はほとんど同じデータで動作するため、多くの機能を共有します。

したがって、検証用の関数、コールバック関数、準備用などを格納する特定の .php を作成したいと思います。

これを行う最善の方法は何ですか?

CRUD コントローラーを作成する際の一般的な手順または推奨事項は何ですか?

私が十分に明確であったことを願っています.langaugeとphpプログラミングの両方に関する私の知識はかなり限られています.

4

1 に答える 1

1

あなたは「太った」コントローラーを持っています。1つのオプションは、モデルに簡単にプッシュできるものを確認して、「シンコントローラーファットモデル」を作成することです。モデルについて考える1つの方法は、データベーステーブルと、そのデータの使用方法に関するビジネスルールです。そのため、検証やデータ準備などがモデルで発生する可能性があります。次に、コントローラーはオブジェクトと配列を渡し、収集します。また、モデルは他のモデルを直接呼び出すことができます。

そのアプローチが気に入らない場合、またはよりポータブルなものが必要な場合は、ライブラリを使用してください。もう1つ注意すべき点は、さまざまな場所に必要な短いビット(技術用語)があるかどうかです。それらをサイト構成ファイルに入れることを検討してください。

于 2012-12-01T22:31:10.677 に答える