PHPで優れたPDOラッパークラスを探していました。私が見たクラスの中で自分のニーズに合ったクラスはなかったので、自分のクラスを作成することにしました。以前に作成したクラスを拡張mysql_*
して、ネイティブエスケープ、dbに依存しない、プリペアドステートメントなどを統合するために今では恐ろしい関数を使用しました。
私が疑問に思っていたのは、このようなクラスを開発して使用するための最良のアプローチは何ですか?1つの代替案は、インスタンスによるものです。
$db = new Database();
$db->query("SELECT this FROM that");
もう1つは、静的メソッドを使用する場合です。
DB::query("SELECT foo FROM bar WHERE answer=42");
最初の方法を使用することを好むフレームワーク(例:Joomla API)を見たことがありますが、2番目の方法で起こりうる落とし穴がどれであるかはわかりません。
何か洞察はありますか?