多くのクラスを持つPHPプロジェクトと、Webから取得したPDOラッパークラスがあります。これはかなり良いようです。
http://code.google.com/p/php-pdo-wrapper-class/
私のクラスは今次のようになっています:
class product {
__constructor($id = 0) {
//mysql_query and store the product row in $this->row;
}
edit($array) {
//another obvious mysql_query...
}
したがって、これらは非常に単純であり、セキュリティのためにすべてのmysql_queryをPDOに移動したいと思います。私は変数を持っています:
$db = new pdo('localhost', 'user', 'pass');
クラスの前に、インクルードファイルの一番上の行で正しく定義されて動作します。しかし、私は書く必要はありません:
global $db;
すべての機能の開始時。__construct()関数を次のようなものに変更することを検討しました。
__construct($id = 0, $db = null) {
$this->db = $db;
}
そしてそこから参照しますが、それに関する問題は、Webサイト全体のすべてのコンストラクターを変更する必要があることです。既存のコードを最小限の量で編集できるように、これを解決する方法はありますか?