php单例模式为何只能实例化一次
发布时间:2015-11-06 编辑:jiaochengji.com
php的单例模式,在php编程中用的最多的模式之一,为什么只能实例化一次呢?看了本文的例子,你就会明白了。
php单例演示示例:
<?php /** * php单例 * site www.jbxue.com */ class Example { // 保存类实例在此属性中 private static $instance; // 构造方法声明为private,防止直接创建对象 private function __construct() { echo 'I am constructed'; } // singleton 方法 public static function singleton() { if (!isset(self::$instance)) {//判断是否以前创建了当前类的实例 $c = __CLASS__;//获取类名 self::$instance = new $c;//如果没有创建,实例化当前类,这里实现类只实例化一次 } return self::$instance;//返回类的实例 } // Example类中的普通方法 public function bark() { echo 'Woof!'; } // 阻止用户复制对象实例 public function __clone() { trigger_error('Clone is not allowed.', E_USER_ERROR); } } // 这个写法会出错,因为构造方法被声明为private $test = new Example; // 下面将得到Example类的单例对象 $test = Example::singleton(); $test->bark(); // 下面将得到Example类的单例对象 $test = Example::singleton(); $test->bark(); // 复制对象将导致一个E_USER_ERROR. $test_clone = clone $test; ?>
您可能感兴趣的文章:
php设计模式之单例模式的实例代码
学习php设计模式之单例模式
php实现的单例模式的例子
学习php单例模式及应用实例
php单例模式的演示代码
有关php单例模式介绍及例子
php设计模式之单例模式学习
php单例模式的例子
您可能感兴趣的文章:
php单例模式为何只能实例化一次
深入php设计模式实例详解
学习php单例模式及应用实例
php工厂模式实例代码
php单例模式有什么用
php单例模式是什么意思
学习php设计模式之单例模式
php设计模式之单例模式学习
什么是单例模式?
详解 PHP 中的三大经典模式
上一篇:php删除txt文档中的指定行
下一篇:php 二维码的生成代码
[关闭]