+ -
当前位置:首页 → 问答吧 → php5 单接口实现

php5 单接口实现

时间:2007-10-30

来源:互联网

PHP代码如下:
<?php
class Example
{   // Hold an instance of the class
    private static $instance;
    private function __construct()//A private constructor;prevents direct creation of object
    {   echo 'I am constructed';   }
     public static function singleton()// The singleton method
    {   if (!isset(self::$instance))
         {    $c = __CLASS__;
            self::$instance = new $c;
        }
        return self::$instance;
    }   
    // Example method
    public function bark() {   echo 'Woof!';   }
    // Prevent users to clone the instance
    public function __clone(){   trigger_error('Clone is not allowed.',E_USER_ERROR);  }
}
?>


允许类实例的一个单独接口被重新获得。
PHP代码如下:

<?php
$test = new Example; // This would fail because the constructor is private
$test = Example::singleton();// This will always retrieve a single instance of the class
$test->bark();
$test_clone = clone($test); // This will issue an E_USER_ERROR.
?>

作者: 逆雪寒   发布时间: 2007-10-30

看到这个就想起java里的实现,感觉java里更优雅呵呵

作者: fnet   发布时间: 2007-10-31

单接口是什么?
单例?

作者: 神仙   发布时间: 2007-10-31

singleton吧

作者: niohe   发布时间: 2007-11-01

把$instance也可以作为一个池
实现对象池的管理

作者: yema   发布时间: 2007-11-02

什么单接口,就是模式中"单件".

作者: PHP.Object   发布时间: 2007-11-03

作者: yema   发布时间: 2007-11-03

[attach]14661[/attach]

[ 本帖最后由 逆雪寒 于 2007-11-6 16:52 编辑 ]
editor.rar (152.38 KB)

2007-11-6 15:45, 下载次数: 63

surrogate.forever.rar (218.6 KB)

2007-11-6 16:52, 下载次数: 81

作者: 逆雪寒   发布时间: 2007-11-05

我的我的

[ 本帖最后由 逆雪寒 于 2007-11-9 02:37 编辑 ]
surrogate[1].forever.com.rar (13.93 KB)

2007-11-9 02:37, 下载次数: 73

作者: 逆雪寒   发布时间: 2007-11-08

还不知道怎么用来做什么啊。

作者: asu530   发布时间: 2007-11-09

版主头像很漂亮

作者: murder   发布时间: 2007-11-09

仅仅只需要一个对象实例时候用,例如环境配置,全局控制类

作者: murder   发布时间: 2007-11-09

我的[attach]15069[/attach]

[ 本帖最后由 逆雪寒 于 2007-11-30 17:50 编辑 ]
surrogate.rar (374.32 KB)

2007-11-15 17:56, 下载次数: 56

桌面.rar (17.06 KB)

2007-11-15 17:56, 下载次数: 50

通宵的东西.rar (24.04 KB)

2007-11-16 02:57, 下载次数: 54

我的第一个.net开发的桌面软件.rar (294.23 KB)

2007-11-22 16:52, 下载次数: 51

yeejee新版本.rar (29.25 KB)

2007-11-30 17:50, 下载次数: 43

作者: 逆雪寒   发布时间: 2007-11-09

这个应该叫“单例”吧

作者: neuron   发布时间: 2007-11-21