魔术方法的使用
<?php class Connection { protected $link; private $server, $username, $password, $db; public function __construct($server, $username, $password, $db) { $this->server = $server; $this->username = $username; $this->password = $password; $this->db = $db; $this->connect(); } private function connect() { $this->link = mysql_connect($this->server, $this->username, $this->password); mysql_select_db($this->db, $this->link); } public function __sleep() { echo __METHOD__; return array(‘server‘, ‘username‘, ‘password‘, ‘db‘); //序列化时保存这些属性 } public function __wakeup() { $this->connect(); //反序列化后自动连接数据库 echo __METHOD__; } } $conn = Connection(‘mysql://localhost:3306/‘,‘root‘,‘root123‘,‘db_php‘); unserilize(serialize($conn)); ?>
输出
__sleep__wakeup
时间: 2024-12-30 03:11:33