環境
趣味として、CRM アプリケーション (顧客関係管理) の構成を抽出できる SaaS アプリケーションを構築しています。成功すれば、公開する予定です。
構成を抽出するための一連の PHP ファイルを開発しました。これは非常に困難でしたが、成功し、取得したオブジェクトを参照できるようになりました。
これらのオブジェクトをシリアル化してファイルとして保存することはできますが、I/O とすべてのトランザクションを処理するために無駄な時間がかかるため、そのようなアプリケーションをリリースすることはできません (私が見ているように)。
そのため、一連のファイル (ほとんどの場合、それらの間に 1:M の関係を持つシリアル化されたオブジェクト) があり、PDOManager ファイルを作成して、CRM から抽出したデータに応じてデータベースで CRUD を実行することにしました (Web サービスを使用した自動プロセス)。 .
取得するオブジェクト、つまりクラスは進化する可能性があるため、石で書かれておらず、CRM の将来のリリースで実装される機能に基づいてフィールドを追加/削除できます。
ORM および PHP ユーザーへの質問:
- PDO を使用して手動でデータベースを CRUD するための一連の PHP ファイルを作成するのは良い考えですか (データ モデルが進化できることを認めます)。
- それとも、時間の無駄なので、ORM にすべてを任せて、すべてのオブジェクトを含むデータベースを作成する必要がありますか?
明確化
これが私が実施しているプロセスであり、現在このプロセスのどこにいるのか
CRM から WSDL ファイルを取得します (CRM のコンポーネントごとに 23 の異なる wsdl)。
Web サービスを使用して CRM にクエリを実行する
クエリされた Web サービスの XML 回答を取得します (これらの XML ファイルには構成特性が含まれています)。
オブジェクトを作成して構成データをモデル化し、オブジェクトのさまざまなオカレンスを一時的に配列に格納します。
これらの配列をデータベースに保存します。
これがすべて完了したら、目的は、サービスのユーザーが Excel ファイルなどで構成データを取得できるようにすることです (おそらく Web インターフェイスですが、後の段階で)。
現在、プログラムでステップ 4 まで完了しており、ステップ 5 で何をすべきか疑問に思っていました。ここに表示されるオプションは次のとおりです。
A. DBManager を作成して構成オブジェクトを保存します。これにより、DB をモデル化し、テーブルの列と制約を作成し、オブジェクトのリーダー/ライターをデータベースに作成する必要があります。私が作成したモデルには 52 個のテーブルがあります。
B.オブジェクト間のリンクに基づいてすべてのテーブル、列、および制約を作成できるORMを使用します(よく理解していれば)。昨日まで ORM を使用したり聞いたりしたことがないので、これは魔法のように思えます。
知識に基づいた選択をするのを手伝ってください。