人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPにおけるDBライブラリについて質問です。

現在、

「OOPではなくベタ書き(関数化はしている)」
「DBアクセスはPHP標準関数で」
「DBやテーブルの設計・生成・変更などはphpMyAdminによる操作が中心」
「フレームワークは全く使っていない」

…という感じでWebアプリ開発を行っています。(ただし今後はなるべくOOP化を進めていきます)


しかし最近書籍や雑誌などでDBライブラリの有用性を読むにつけ、導入したくなりました。特にDRYやCoCを実現したTDD・アジャイル開発に興味があります。O/Rマッピングという機能もかなり便利そうな予感がします。

そこでDB抽象化のためにどのライブラリを使うべきか迷っています。

有名どころを複数列挙していただき、それぞれのメリット・デメリットについて比較する形で教えていただけないでしょうか。できるだけ具体的かつ簡潔な箇条書きだとありがたいです。いま検討しているのは、PEAR:DB、PDO、ADOdb、Propelなどです。他にもあれば教えてください。単純に機能だけでなく、インストールの簡単さ・メンテナンスの容易さなども考慮しています。

最も参考になった回答の方に300?500ポイント差し上げます。

●質問者: dreamzico
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CoC dB DRY O/Rマッピング OOP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● esecua
●100ポイント

全てにおいて今のところadodbに勝るライブラリはないでしょう。

かなりポピュラーなPear DBが出来ることはほぼ全てカバーし、尚かつ処理速度が断然速い。

キャッシュ機能からトランジアクション機能もついており大規模なサービスまでカバーできる体制にある。

又、多数の使用実績もあり信頼性においてもおすすめ。

インストールやアップデートも単にファイルをアップするだけでおk。わざわざコマンド打って、、、なんてする必要なし。

その他にも様々な機能を搭載(PagerやCSVエクスポート機能等)

これらの機能を導入する際も数行のコードで済む場合が多く敷居が低い。

手軽、高機能、安全、それがADODB

短所:

日本語ドキュメントが充実していない。

場合によっては英語ドキュメントを読む必要あり。

◎質問者からの返答

ありがとうございます。

やはりADOdbが一番良さそうなんえすね。

インストールが簡単なのも良い点です。


2 ● hyottokohamutarou
●100ポイント

フレームワークを使ったほうがいいと思います。

CAKEPHP、ZEND FRAMEWORKはDLして解凍すればすぐ使えますし。

O/Rマッピングも強力ですし、内部でDB抽象化ライブラリも使ってるので、

ソースを追えば勉強しながら機能拡張も可能です。

DB抽象化のオーバーヘッドに注力するよりは、

MVCでアジャイル開発に力点をおくのが正解だと思います。

◎質問者からの返答

なるほど、フレームワークに内蔵されているDB関連機能を利用すれば、

結局DBライブラリやO/Rマッパーとして使えるんですね。

それらの機能は、単体(?)のDBライブラリのそれと比較して、

何か劣る点や気をつけるべき点などはありますでしょうか?

たとえばADOdbとCakePHP(のDB関連機能)を比較した場合の

それぞれの長所・短所があれば教えていただければ幸いです。


3 ● esecua
●10ポイント

全てにおいて今のところadodbに勝るライブラリはないでしょう。

かなりポピュラーなPear DBが出来ることはほぼ全てカバーし、尚かつ処理速度が断然速い。

キャッシュ機能からトランジアクション機能もついており大規模なサービスまでカバーできる体制にある。

又、多数の使用実績もあり信頼性においてもおすすめ。

インストールやアップデートも単にファイルをアップするだけでおk。わざわざコマンド打って、、、なんてする必要なし。

その他にも様々な機能を搭載(PagerやCSVエクスポート機能等)

これらの機能を導入する際も数行のコードで済む場合が多く敷居が低い。

手軽、高機能、安全、それがADODB

短所:

日本語ドキュメントが充実していない。

場合によっては英語ドキュメントを読む必要あり。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ