同じリクエスト中にデータベースに接続する必要のあるクラスがあります。私が考えた解決策は、PDOオブジェクトをメソッドの引数として与えることでした。 public属性への接続や店舗を作成し、DB()クラスがあります:引数として指定された変数オブジェクトを使用する
class DB{
public $conn;
public function DB(){
$this->conn = new PDO(...);//missed :S thxs!
}
}
class Foo{
public function Foo($db[, $more_possible_variables]){
//implementing some stuff with $db
}
}
/*index.php*/
require_once 'DB.php';
require_once 'Foo.php';
$db = new DB();
$foo = new Foo($db->conn);
/*End of index*/
私はこの仕事をするためにいくつかのアイデアを試してみましたが、私は常に可能ではないエラーのような変数を処理するために取得しますオブジェクト。他のソリューションもありますが、効率的な観点からは推奨されません。
$ this-> connが足りないことを確認してください。これを使わないでローカル変数にPDOオブジェクトを割り当てています。 – Nathan
私は自分のコードに同じ誤りがあることを知りました! – matt