src/Eloquent/Typhoon/Extension/ExtensionLoader.php
public function load($className, $forceReload = false)
    {
        $this->typeCheck->load(func_get_args());

        // Extension is already loaded ...
        if (!$forceReload && $this->isLoaded($className)) {
            return $this->extensions[$className];
        }

        // Obtain a reflector ...
        try {
            $reflector = new ReflectionClass($className);
        } catch (ReflectionException $e) {
            throw new Exception\InvalidExtensionException($className, $e);
        }

        // Verify interface ...
        if (!$reflector->implementsInterface('Eloquent\Typhoon\Extension\ExtensionInterface')) {
            throw new Exception\InvalidExtensionException($className);
        }

        return $this->extensions[$className] = $reflector->newInstanceArgs($this->constructorArguments);
    }
public function load($className, $forceReload = false)
    {
        $this->typeCheck->load(func_get_args());

        // Extension is already loaded ...
        if (!$forceReload && $this->isLoaded($className)) {
            return $this->extensions[$className];
        }

        // Obtain a reflector ...
        try {
            $reflector = new ReflectionClass($className);
        } catch (ReflectionException $e) {
            throw new Exception\InvalidExtensionException($className, $e);
        }

        // Verify interface ...
        if (!$reflector->implementsInterface('Eloquent\Typhoon\Extension\ExtensionInterface')) {
            throw new Exception\InvalidExtensionException($className);
        }

        return $this->extensions[$className] = $reflector->newInstanceArgs($this->constructorArguments);
    }
public function load ( $ className , $ forceReload = false ) { $ this -> typeCheck -> load ( func_get_args ( ) ) ; // Extension is already loaded ... if ( ! $ forceReload && $ this -> isLoaded ( $ className ) ) { return $ this -> extensions [ $ className ] ; } // Obtain a reflector ... try { $ reflector = new ReflectionClass ( $ className ) ; } catch ( ReflectionException $ e ) { throw new Exception \ InvalidExtensionException ( $ className , $ e ) ; } // Verify interface ... if ( ! $ reflector -> implementsInterface ( 'Eloquent\Typhoon\Extension\ExtensionInterface' ) ) { throw new Exception \ InvalidExtensionException ( $ className ) ; } return $ this -> extensions [ $ className ] = $ reflector -> newInstanceArgs ( $ this -> constructorArguments ) ; }
@param string  $className   The name of the extension class.
@param boolean $forceReload

@return ExtensionInterface
@param string $className The name of the extension class . @param boolean $forceReload