2009-06-28 7 views
1

私は自分で中小規模のWebアプリケーションを作成する初期段階にあります。私は "PHP Object、Patterns、and Practice"を読んでいました。早い生産が最優先であるため、ページコントローラを使うことにしました。私はPHPフレームワークに慣れていないので、ページコントローラも魅力的でした。そして、精巧なフロントコントローラを作成することは、現在プロジェクトを上回るようです。私の計画は、ウェブサイトASAPのページコントローラ版をリリースし、より複雑なソフトウェア設計をする前に観客が好きかどうかを確認することです。ページコントローラーからフロントコントローラーに移行するためのフレンドリーコード

私は実際にはフロントコントローラーに切り替えるべきだと言いました。上記の本は、「ページコントローラーから始まり、フロントコントローラーパターンに移行することは不可能ではない」と述べていますが、「不可能ではない」という言葉は、それがかなり難しいかもしれないと心配しています。

私の質問は次のとおりです。 ページコントローラーからフロントコントローラーに移行するのはいかがですか?私のページコントローラベースのアプリケーションで作業している間に、フロントコントローラデザインへのスムーズな移行を可能にするコードを作成するにはどうすればよいですか?理想的な状況は、できるだけコードを書き直し/再構成し、フロント・コントローラを関連するクラス/オブジェクトでタックすることです。今私はMVCの維持について慎重だから、経験豊富な開発者からの助言はすばらしいだろう。ありがとうございました。

答えて

1

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

ページ・コントローラーは、表示するビューを選択する責任も負います。ビジネス・オブジェクト内のものを出力せず、単にコントローラーのデータを戻すだけです。

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

1

私は約3,4年前にオブジェクト指向プログラミングの初めの紹介として読んだ本を読んで、それはすばらしい本でしたが、私は本当に全部を把握していると言いますCakePHPの使用を開始し、実際にどのように行われているかを知るためにコードの中に根を張っています。この本の例は、時々少し混乱することがあります。

フレームワークのいくつかをもう一度見ておくことをお勧めします。ケーキはいいですし、Yiiはさらに優れたものです。それは彼らと一緒に設定されたシステムを得るためには長くはありませんし、あなたがフードの下で見栄えをする準備ができている限り、彼らは貴重な学習ツールになることができます。

関連する問題