私はPHP 5.3の簡単な問題のためのきれいなアプローチを見つけようとしています。簡単な問題のためのPHP clean(mvc)アーキテクチャ
私は実装上の問題がありません。クリーンなソリューションを設定するための最良の方法を考えています。私は、パブリックAPIからデータを要求
- :
は、ここに私のプロジェクトです。
- データはJSONです。私はJSONレスポンスをPHPオブジェクトに変換します
- phpオブジェクトを反復処理して生データとマップデータの両方を表示するビュー(テンプレートエンジン)に渡します。
これは、コードの私の現在の状態です:私はすべてのクラスと設定が必要になるのindex.phpで
。私はオートローディングクラスを書くことができましたが、私が必要とするすべてのクラスが常に使用されているので、これは全く意味がないと思います。
私の設定ファイルを読んで、そこからOptionsオブジェクトを作成します。
また、オプションオブジェクトがコンストラクタインジェクションを介して渡されるRequestオブジェクトも作成されます。
このオブジェクトでは、APIへの実際のリクエストを実行し、JSONを取得します。 リクエストオブジェクトのJSONレスポンスを変換する必要がありますか?変換は実際のリクエストとは関係がないため、このタスクを実行するヘルパークラスを記述する必要がありますか?
まだindex.phpにあります。必要なViewオブジェクトを作成し、Viewが渡されるControllerオブジェクトを作成し、そのindexActionを呼び出します。
A.クラス
AA.Controller
AAA:
マイフォルダ構造は次のようになります。 IndexController.php
AA。サービス
AAA Service.php
AA。 Options.php
AA。 Request.php
A.コンフィグレーション
AA。だから、
index.phpのconfig.phpを
A.、どのように私の可能なクリーンなソリューションのセットアップ私のプロジェクトのですか?
モデルがないので、MVCのように「M」の部分がありません。私は対処するきれいな方法がわからない、これらの2〜3クラスしか持っていません。
オプションとリクエストは、それぞれ独自のクラスであるか、単にサービスの方法であるべきですか?
サービスを完全に削除し、本当にサービス層ではないので、ヘルパークラスを作成する必要がありますか?現在、私は、私はあなたたち
もちろん、私は20行で書くことができました。しかし、私は実際に自分のアーキテクチャーのスキルを向上させようとしています。本当に簡単なプロジェクトから始めればいいと思いました。 – Michael
最も重要なアーキテクチャのスキルは "Keep It Simple、Stupid"です。必要になったときに複雑さを処理するために、いつでもコードをリファクタリングすることができます。 – tdammers
ええ、あなたは完全に狂ったことをすることによって、建築技術を向上させることはできません。それは常に現実に反して測定します。あなたが理解できない場合、あなたはスキルを全く増やさないでしょう。 – hakre