Your base singleton class prevents this from happening. if you change the code to this, it will work.
<?php class Singleton { static private $instances = array(); static public function instance(){ $class = get_called_class(); if(!isset(self::$instances[$class])){ self::$instances[$class] = new $class(); } return self::$instances[$class]; } private function __construct(){} } class MySingleton extends Singleton { } echo get_class(MySingleton::instance());
Now it works because Singleton allows one instance for a child class.
source share