public static function load($service)
    {
        // Get arguments generic way rip off 1st this is the service name
        $arguments            = array_slice(func_get_args(), 1);
        $fullQualifiedService = self::getFullQualifiedService($service);
        $className            = $fullQualifiedService['namespace'].
                                '_'.ucfirst($fullQualifiedService['name']).'_Service';

        // Instantiated?
        (self::$instance === null) ? self::init() : null;

        // Load file
        self::getService($fullQualifiedService['name'], $fullQualifiedService['namespace']);

        // Generate map from annotations in source of current service main entry
        self::$map
            ->reset()
            ->generate($className);

        // Store map
        self::$registry->getContainer()->addToMap(self::$map);

        // Create instance ...
        /* @var $instance Doozr_Base_Service_Interface */
        $instance = self::$registry->getContainer()->build($className, $arguments);

        // Decide which identifier to use
        $identifier = strtolower(
            ($fullQualifiedService['alias'] !== null) ? $fullQualifiedService['alias'] : $fullQualifiedService['name']
        );

        // Register service and put the UUID as reference into response
        $instance->setUuid(
            self::registerService($identifier, $instance)
        );

        return $instance;
    }
public static function load($service)
    {
        // Get arguments generic way rip off 1st this is the service name
        $arguments            = array_slice(func_get_args(), 1);
        $fullQualifiedService = self::getFullQualifiedService($service);
        $className            = $fullQualifiedService['namespace'].
                                '_'.ucfirst($fullQualifiedService['name']).'_Service';

        // Instantiated?
        (self::$instance === null) ? self::init() : null;

        // Load file
        self::getService($fullQualifiedService['name'], $fullQualifiedService['namespace']);

        // Generate map from annotations in source of current service main entry
        self::$map
            ->reset()
            ->generate($className);

        // Store map
        self::$registry->getContainer()->addToMap(self::$map);

        // Create instance ...
        /* @var $instance Doozr_Base_Service_Interface */
        $instance = self::$registry->getContainer()->build($className, $arguments);

        // Decide which identifier to use
        $identifier = strtolower(
            ($fullQualifiedService['alias'] !== null) ? $fullQualifiedService['alias'] : $fullQualifiedService['name']
        );

        // Register service and put the UUID as reference into response
        $instance->setUuid(
            self::registerService($identifier, $instance)
        );

        return $instance;
    }
public static function load ( $ service ) { // Get arguments generic way rip off 1st this is the service name $ arguments = array_slice ( func_get_args ( ) , 1 ) ; $ fullQualifiedService = self :: getFullQualifiedService ( $ service ) ; $ className = $ fullQualifiedService [ 'namespace' ] . '_' . ucfirst ( $ fullQualifiedService [ 'name' ] ) . '_Service' ; // Instantiated? ( self :: $ instance === null ) ? self :: init ( ) : null ; // Load file self :: getService ( $ fullQualifiedService [ 'name' ] , $ fullQualifiedService [ 'namespace' ] ) ; // Generate map from annotations in source of current service main entry self :: $ map -> reset ( ) -> generate ( $ className ) ; // Store map self :: $ registry -> getContainer ( ) -> addToMap ( self :: $ map ) ; // Create instance ... /* @var $instance Doozr_Base_Service_Interface */ $ instance = self :: $ registry -> getContainer ( ) -> build ( $ className , $ arguments ) ; // Decide which identifier to use $ identifier = strtolower ( ( $ fullQualifiedService [ 'alias' ] !== null ) ? $ fullQualifiedService [ 'alias' ] : $ fullQualifiedService [ 'name' ] ) ; // Register service and put the UUID as reference into response $ instance -> setUuid ( self :: registerService ( $ identifier , $ instance ) ) ; return $ instance ; }
Loads a service from any namespace.

This method is intend to load services. Its possible to pass a string with just a name of a service
to this method or you pass an array with namespace like this -> array('namespace', 'service').

@param string|array $service Just the name of the service if a Doozr default service or
as an array with additional namespace like: array('namespace', 'service')

@author Benjamin Carl <opensource@clickalicious.de>

@return Doozr_Base_Service_Interface An/the instance of the requested service
@static
Loads a service from any namespace .