PHP的单例模式

来源:互联网 发布:淘宝联盟怎么合并付款 编辑:程序博客网 时间:2024/05/20 16:11

单例模式就是某个类在运行过程中只有一个实例,可以避免重复的实例化对象而造成资源的浪费。

Java 或者 .net 这些编译型的语言是可以保证这个唯一的实例常驻在内存中,并持续到整个应用程序生命周期的结束。
但是在 php 这种解释型的语言中,每次页面被执行时,都会重新建立新的对象,页面执行完毕后所有相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存,这样似乎 PHP 单例模式就没有什么意义了,所以PHP单例模式只是在单次页面级请求时出现多个应用场景并需要共享同一对象资源时有用。

<?phpclass DB {    // 类的唯一实例    private static $_instance;    // 防止外部实例化    private function __construct() {    }    // 防止克隆    private function __clone() {        trigger_error('Clone is not allowed');    }    // 返回唯一实例    static function getInstance() {        /*        if (is_null(self::$_instance)) {            self::$_instance = new self;        }        */        if (!(self::$_instance instanceof self)) {            self::$_instance = new self;        }        return self::$_instance;    }}$db = DB::getInstance();

0 0
原创粉丝点击