データベースの抽象化と工場の方法
-
24-10-2019 - |
質問
データベースの抽象化と工場の方法のPHPの設計プラクティスについてもっと学ぶことに興味があります。背景については、私のサイトは現在ベータモードにある一般的なソーシャルネットワーキングコミュニティです。
現在、私はオブジェクトの検索のために古いコードを工場メソッドに移動し始めました。ただし、各関数/方法で多くのSQLテーブル名と構造を分離することで、自分自身を制限しているように感じます。
質問:
データベースの切り替えを予想していない場合、PDO(または類似)を使用する理由はありますか?
MySQLIとのPDOインターフェースは、私が現在使用しているステートメントを作成できますか?
各方法からテーブル名を分離するのに役立ちますか? (いいえの場合、他にどのようなデザインパターンを調査したいですか?)
メンバーベースが大幅に大きくなったら、サイトを遅くしますか?
解決
Nettutsは最近記事を持っていました PDOを使用することの利点のいくつか.
抽象化に関する質問については、オブジェクトリレーショナルマッピング(ORM)を調べることができます。これにより、Native PHPオブジェクトと同じ方法でデータベースレコードにアクセスできるようになります。私の経験のほとんどはKohanaフレームワークを使用しており、ORMの仕組みが好きですが、人気のあるPHPフレームワークの多くには、データベース抽象化方法の良い例があるはずです。他の誰かが「正しい」方法でそれをした場所を読むことが私を助けてくれると思います。
他のヒント
ORMを見て2番目のルークウッドをご希望のです。私は良い経験をしました 教義. 。自分で何かを構築することは、ほとんどの場合、あなたの時間の無駄になるでしょう。
洋ナシまたはPDOを使用することをお勧めします。なぜですか?
1)数万人のプログラマーによってテストおよび使用されています。あなたがあなたを助けるために別のプログラマーが必要な場合、彼らがPDOを知っている可能性は十分にあります。基本的に、彼らがあなたのAPIを知る可能性はゼロです。
2)データベースを変更するとは思わない....しかし、バージョンが変更された場合、移行を強制する場合はどうでしょうか?