1

私は中小規模の Web アプリケーションを自分で作成する初期段階にあります。「PHP Objects, Patterns, and Practice」を読み、ページ コントローラーを使用することにしました。私は PHP フレームワークに慣れておらず、複雑なフロント コントローラーを作成することは現在、プロジェクトを上回っているように思われるため、ページ コントローラーも魅力的でした。私の計画は、Web サイトのページ コントローラー バージョンをできるだけ早くリリースし、より複雑なソフトウェア設計に取り組む前に、視聴者がそれを気に入るかどうかを確認することです。

とは言っても、今後「モジュール」と開発者をさらに追加することを決定するかもしれません...その時点で、本当にフロントコントローラーに切り替える必要があります。上記の本には「ページコントローラーから始めてフロントコントローラーのパターンに移行することは不可能ではない」と書かれていますが、「不可能ではない」という言葉はかなり難しいのではないかと心配しています。

私の質問は次のとおりです。ページ コントローラーからフロント コントローラーの設計に移行するのはどれくらい「難しい」のでしょうか? ページ コントローラー ベースのアプリで作業しているときに、フロント コントローラーの設計にスムーズに移行できるコードを作成するには、どのようなことに注意すればよいですか? 理想的な状況は、コードの書き直し/再構築をできるだけ少なくし、関連するクラス/オブジェクトを使用してフロント コントローラーを追加することです。現在、私は MVC の維持にのみ注意を払っているので、経験豊富な開発者からのアドバイスは素晴らしいものです。ありがとうございました。

4

2 に答える 2

1

オブジェクト指向プログラミングの最初の入門書として 3、4 年前にあなたが言及した本を読みましたが、素晴らしい本であることがわかりましたが、CakePHP を使い始めて初めて全体を理解できるようになったと言わざるを得ません。コードを調べて、実際にどのように処理されているかを確認します。この本の例は、少し混乱することがあります。

世の中に出回っているいくつかのフレームワークを再検討することをお勧めします。Cake は優れていますが、Yii はさらに優れたものになる予定です。それらを使ってシステムをセットアップするのにそれほど時間はかかりません。ボンネットの下をよく見る準備ができている限り、それらは非常に貴重な学習ツールになる可能性があります.

于 2009-06-28T16:43:27.220 に答える
1

あなたの主な関心事は、「ビジネスロジック」を適切に設計されたモデルクラスに入れることだと思います。つまり、そのようなロジックをページ コントローラーに直接配置しないでください。代わりに、ページ コントローラーを使用して GET や POST などの入力を解析し、正しいビジネス ロジック オブジェクトをインスタンス化し、それらに対して正しいメソッドを呼び出して実際のデータ処理を行います。

ページ コントローラは、表示するビューの選択も担当する必要があります。ビジネス オブジェクトに出力するのではなく、コントローラにデータを返すだけです。

このアプローチを使用することで、ほとんどのコードをモデル クラスに含める必要があります。また、フロント コントローラーを使用するように書き換えたい場合は、ページ コントローラーをフロント コントローラーで動作するように変更するだけで済みます。他のものを変更します。

于 2009-06-28T16:37:54.850 に答える