Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何自动加载singleton';什么在DooPHP?_Php_Model View Controller_Singleton_Doophp - Fatal编程技术网

如何自动加载singleton';什么在DooPHP?

如何自动加载singleton';什么在DooPHP?,php,model-view-controller,singleton,doophp,Php,Model View Controller,Singleton,Doophp,我是DooPHP的新手,但到目前为止,它非常棒。我只是不知道如何将我自己的类自动加载为单例。任何帮助都将不胜感激。将其保存在/protected/class文件夹中。它将自动加载。 否则,请检查DooLoader。如果需要,只需给类一个单例方法即可 class Test { protected static $_instance; public static function getInstance() { if(self::$_instance===null)

我是DooPHP的新手,但到目前为止,它非常棒。我只是不知道如何将我自己的类自动加载为单例。任何帮助都将不胜感激。

将其保存在/protected/class文件夹中。它将自动加载。
否则,请检查DooLoader。

如果需要,只需给类一个单例方法即可

class Test {
    protected static $_instance;

    public static function getInstance() {
        if(self::$_instance===null){
             self::$_instance = new Test();
        }
        return self::$_instance;
    }
}
无论您想在哪里使用Test::getInstance()

或者,您可以创建类的实例并将其设置为DooConfig对象

Doo::conf()->test = new Test();
//Or this in common.conf.php
$config['test'] = new Test();

但是它是一个共享类,每个实例的共享数据都是全局的,可以通过各种方法访问。使用常规类,不要实例化它两次,并将它传递给需要它的代码。看,为什么不呢?装载类别和类别结构之间没有联系?好吧。。我需要全局实例化它,这样我就可以跨各种方法使用它