CLI单例问题

时间:2011-02-07 08:45:37

标签: singleton php

如果通过CLI运行两个不同的PHP脚本并且它们调用单例的实例,它们是否会共享同一个实例?

这就是我创建单身人士的方式

static $inst = null;
static $singleton = 0;
static $log;

public function __construct()
{
    if( self::$singleton == 0 )
    {
        throw new Exception('You must instantiate it using: $obj = MyClass::getInstance();');
    }
}

public static function getInstance()
{
    if( self::$inst == null )
    {
        self::$singleton = 1;
        self::$inst = new MyClass();
    }

    return self::$inst;
}

编辑:现在我想到了,当我调用include_once('myclass.php')时,两个脚本都包含自己的类副本。所以他们没有理由分享。

首先,我的评估是正确的吗?

其次,出于好奇,我如何在独立运行的不同脚本之间共享一个类实例?

1 个答案:

答案 0 :(得分:3)

不,他们不会。阅读here原因。