hernan-scribe
hernan-scribe

Reputation: 122

How to add a resource type via application.ini

How can I add this resource type in application.ini. (In Bootstrap.php is working but I'd prefer in application.ini if that is possible...)

protected function _initResourceLoader()
{
    $this->_resourceLoader->addResourceType( 'service', 'services/', 'Service' );
}

Upvotes: 1

Views: 1272

Answers (1)

b.b3rn4rd
b.b3rn4rd

Reputation: 8840

You can create your own application resource:

class My_Resource_Resourceloader extends Zend_Application_Resource_ResourceAbstract
{
    public function init()
    {
        $options = $this->getOptions();

        /* @var $resourceLoader Zend_Loader_Autoloader_Resource */
        $resourceLoader = $this->getBootstrap()->getResourceLoader();
        foreach ($options as $method => $params) {
            if (method_exists($resourceLoader, $method)) {
                call_user_func_array(array($resourceLoader, $method), $params);
            }
        }
    }
}

Specify resource path in application.ini :

pluginpaths.My_Resource = "My/Resource"

Configure single resource:

resources.resourceloader.addResourceType.1 = "service"
resources.resourceloader.addResourceType.2 = "services/"
resources.resourceloader.addResourceType.3 = "Service"

Configure multiple resources:

resources.resourceloader.addResourceTypes.1.acl.path = "acls/"
resources.resourceloader.addResourceTypes.1.acl.namespace = "Acl"
resources.resourceloader.addResourceTypes.1.service.path = "services/"
resources.resourceloader.addResourceTypes.1.service.namespace = "Service"

Upvotes: 1

Related Questions