PHP设计模式之单例模式简单代码介绍

PHP设计模式之单例模式

单例模式是一种创建型模式,它会限制应用程序,,使其只能创建某一特定类类型的一个单一的实例。举例来说,一个web站点将会需要一个数据库连接对象,但是应该有且只能有一个,因此我们通过使用单例模式来实现这种限制。

我们可以使用一个静态属性来保证对于一个特定的类来说只存在一个单一的实例。

Class someclass{

Static private $_instance = NULL;

}

【示例】config类实现了单例模式,以便整个web应用程序可以使用同一个配置对象。

<?PHPclass config{//$_instance 属性代表类的单一实例,$_settings属性,存储配置信息static private $_instance = NULL;private $_settings = array();private function __construction(){}private function __clone(){}static function getInstance(){if(self::$_instance == NULL){self::$_instance = new cinfig();}return self::$_instance;}function set($index,$value){$this->_settings[$index] = $value;}function get($index){return $this -> _settings[$index];}}?>

【示例】使用config类

<?PHPrequire('danli.php');$CONFIG = config::getInstance();//创建一个设置条目$CONFIG ->set('live','true');//打印出设置的值echo'<p>$CONFIG["live"]:'.$CONFIG->get('live').'</p>';//创建另一个配置对象,并确认设置的值。$TEST = config::getInstance();echo'<p>$TEST"live"]:'.$TEST->get('live').'</p>';?>

注意:从理论上来说,位于类外部的代码可以控制类的实例的数量,然而我们使用面向对象编程,并且一个类至少得有一个实例,那么在类中实现这种功能是最佳的选择。

每天告诉自己一次,『我真的很不错』

PHP设计模式之单例模式简单代码介绍

相关文章:

你感兴趣的文章:

标签云: