public function load($name, $shared = true) {
        $obj = null;

        if (isset($this->classes[$name])) {
            list($class, $params, $callback) = $this->classes[$name];

            $exists = isset($this->instances[$name]);

            if ($shared) {
                $obj = ($exists) ?
                    $this->getInstance($name) :
                    $this->newInstance($class, $params);
                
                if (!$exists) {
                    $this->instances[$name] = $obj;
                }
            }
            else {
                $obj = $this->newInstance($class, $params);
            }

            if ($callback && (!$shared || !$exists)) {
                $ref = array(&$obj);
                call_user_func_array($callback, $ref);
            }
        }

        return $obj;
    }
public function load($name, $shared = true) {
        $obj = null;

        if (isset($this->classes[$name])) {
            list($class, $params, $callback) = $this->classes[$name];

            $exists = isset($this->instances[$name]);

            if ($shared) {
                $obj = ($exists) ?
                    $this->getInstance($name) :
                    $this->newInstance($class, $params);
                
                if (!$exists) {
                    $this->instances[$name] = $obj;
                }
            }
            else {
                $obj = $this->newInstance($class, $params);
            }

            if ($callback && (!$shared || !$exists)) {
                $ref = array(&$obj);
                call_user_func_array($callback, $ref);
            }
        }

        return $obj;
    }
public function load ( $ name , $ shared = true ) { $ obj = null ; if ( isset ( $ this -> classes [ $ name ] ) ) { list ( $ class , $ params , $ callback ) = $ this -> classes [ $ name ] ; $ exists = isset ( $ this -> instances [ $ name ] ) ; if ( $ shared ) { $ obj = ( $ exists ) ? $ this -> getInstance ( $ name ) : $ this -> newInstance ( $ class , $ params ) ; if ( ! $ exists ) { $ this -> instances [ $ name ] = $ obj ; } } else { $ obj = $ this -> newInstance ( $ class , $ params ) ; } if ( $ callback && ( ! $ shared || ! $ exists ) ) { $ ref = array ( & $ obj ) ; call_user_func_array ( $ callback , $ ref ) ; } } return $ obj ; }
Loads a registered class.

@param string $name Method name
@param bool $shared Shared instance
@return object Class instance
@throws \Exception
Loads a registered class .