2012-04-27 26 views
1

如何在application.ini中添加此資源類型。 (在bootstrap.php中工作,但我在的application.ini喜歡,如果這是可能的...)如何通過application.ini添加資源類型

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

回答

1

您可以創建自己的應用程序資源:

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); 
      } 
     } 
    } 
} 

指定資源路徑的application.ini:

pluginpaths.My_Resource = "My/Resource" 

配置單一的資源:

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

配置多個資源:

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" 
+0

謝謝,我不知道這種方式,但我想我更喜歡原來的,因爲更短,更簡單 – 2012-04-28 08:43:03