PHPのマニュアルのこの例がどのように動作するか説明できますか? ITSはPHPマニュアルから、この例のようにPDO 接続を確立するための魔法の方法を使用する利点は何ですかここhttp://php.net/manual/en/language.oop5.magic.phpPHPマジックメソッド__sleepと__wakeupとPDO接続
- ました。私はそれを取得しない、なぜ私は
serialize()
と__sleep()
と__wakeup()
を使用してデータベース接続を確立する必要がありますか? - 接続が確立された後に が変数
$link
になり、この クラスを子クラスに拡張して使用するにはどうすればよいですか? Connection
クラスを継承しない他のクラスに$ linkを渡すにはどうすればいいですか?唯一の方法はstatic
ですか?- スクリプトの実行が終了したとき、またはオブジェクトのConnectionが破棄されたときに、PDOに接続を閉じるとどうやって終了しますか?
X
class Connection {
protected $link;
private $dsn, $username, $password;
public function __construct($dsn, $username, $password) {
$this->dsn = $dsn;
$this->username = $username;
$this->password = $password;
$this->connect();
}
private function connect() {
$this->link = new PDO($this->dsn, $this->username, $this->password);
}
public function __sleep() {
return array('dsn', 'username', 'password');
}
public function __wakeup() {
$this->connect();
}
}