1

PHPのデータベース抽象化とファクトリメソッドの設計手法についてもっと知りたいです。背景として、私のサイトは現在ベータモードにある共通の関心のあるソーシャルネットワーキングコミュニティです。

現在、オブジェクト取得用の古いコードをファクトリメソッドに移動し始めています。ただし、関数/メソッドごとに多くのSQLテーブル名と構造を分離しておくことで、自分自身を制限しているように感じます。

質問:

  1. データベースの切り替えを予期しない場合、PDO(または同様のもの)を使用する理由はありますか?

  2. PDOは、現在使用しているMySqliプリペアドステートメントとインターフェイスできますか?

  3. 各メソッドからテーブル名を分離するのに役立ちますか?(いいえの場合、他にどのようなデザインパターンを調査したいと思いますか?)

  4. 会員数が非常に多い場合、サイトの速度が低下しますか?

4

3 に答える 3

1

Nettuts は最近、PDO を使用するメリットについての記事を掲載しました。

抽象化に関する質問については、オブジェクト リレーショナル マッピング (ORM) を調べると、ネイティブの php オブジェクトと同じ方法でデータベース レコードにアクセスできます。私の経験のほとんどは Kohana フレームワークであり、その ORM のしくみが気に入っていますが、一般的な php フレームワークの多くには、データベース抽象化メソッドの良い例が必要です。他の誰かが「正しい」方法でそれを行った場所を読むと、私は助けになることがわかりました。

于 2010-06-03T21:01:29.440 に答える
1

PEAR または PDO を使用することをお勧めします。なぜですか?

1) 何万人ものプログラマーによってテストされ、使用されています。別のプログラマーが助けを必要としている場合、彼らが PDO を知っている可能性は十分にあります。基本的に、彼らがあなたの API を知る可能性はゼロです。

2) データベースを変更するつもりはないと思いますが、バージョンの変更などで移行を余儀なくされたらどうしますか?

于 2010-06-03T22:30:54.967 に答える
1

ORM を検討中の Rookwood 氏を支持したいと思います。私はDoctrineで良い経験をしました。ほとんどの場合、自分で何かを構築するのは時間の無駄です。

于 2010-06-03T21:47:39.453 に答える