编写单例是PHP比较日常的事情,如:
abstract class Singleton
{
protected static $instance = array();
abstract protected function __construct();
public static function getInstance()
{
$class = get_called_class();
if (!isset(self::$instance[$class])) {
self::$instance[$class] = new $class();
}
return self::$instance[$class];
}
}
class MysqlAdapter extends Singleton
{
protected $connection = 0;
protected function __construct()
{
$this->connection++;
}
public function getConnection()
{
return $this->connection;
}
public function setConnection()
{
return $this->connection++;
}
}
$instance = MysqlAdapter::getInstance();
echo $instance->getConnection() . "
";
echo $instance->getConnection() . "
";
echo $instance->getConnection() . "
";