Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
PHP中的singleton行为异常_Php_Singleton - Fatal编程技术网

PHP中的singleton行为异常

PHP中的singleton行为异常,php,singleton,Php,Singleton,我试图在PHP中实现一个单例,但由于某些原因,每次静态变量$instances为null时,它都会被重新初始化 class Enteliprint_Model_EnteliService { public static $instances; static public function getSingltoneInstances() { DebugBreak(); if (NULL == Ent

我试图在PHP中实现一个单例,但由于某些原因,每次静态变量$instances为null时,它都会被重新初始化

  class Enteliprint_Model_EnteliService {

        public static $instances;

        static public function getSingltoneInstances() {                  DebugBreak(); 
            if (NULL == Enteliprint_Model_EnteliService::$instances) {
                $result = array();          
                foreach (Enteliprint_Model_EnteliPrint::getEnteliPrintInstances(True) as $instance) {   
                    $associatedSceddules = json_decode($instance['AssocSchedules']);
                    $scheduleIDs = '-1,';                    
                    foreach ($associatedSceddules as $key=>$schedule) {
                        $scheduleIDs = $scheduleIDs.($key > 0 ? ', ' : '').$schedule->ID;
                    }                  
                    $instance['AssocFilters'] = Enteliprint_Model_EnteliFilter::getEnteliFilternstances($scheduleIDs);
                    $result[] = $instance;
                }
                Enteliprint_Model_EnteliService::$instances = $result;
            }
            return Enteliprint_Model_EnteliService::$instances;
        }

        public static function sendEvents($events) {                                  
            $instances = Enteliprint_Model_EnteliService::getSingltoneInstances(); 

有什么想法吗?

检查foreach循环中的内容。在同一个类中,使用self::而不是类名空数组等于null。调试foreach循环之后$result的内容。在for each循环中,调试建议正常检索值,也使用self::但没有任何更改