2010-01-04 2 views
1

У меня есть собственные ресурсы для моего загрузочного буфера Zend_Application.Использование application.ini для настройки Zend_Application Bootstrap

В the manual следующий код дается для загрузки их:

$application = new Zend_Application(APPLICATION_ENV, array(
    'pluginPaths' => array(
     'My_Resource' => APPLICATION_PATH . '/resources/', 
    ), 
    'resources' => array(
     'FrontController' => array(
      'controllerDirectory' => APPLICATION_PATH . '/controllers', 
     ), 
    ), 
)); 

Это, однако, не делает использование application.ini, которые я хочу использовать. Есть ли возможность полностью настроить это приложение из моего приложения.ini?

Мое окончательное решение: (с помощью ответа Уилла):

  • создать пустой проект с zf.sh создания проекта (версия 1.9.6)
  • сделать следующий класс в приложении /resources/Ftp.php

    class My_Resource_Ftp extends Zend_Application_Resource_ResourceAbstract 
    { 
        protected $_params = array(); 
        public function init() { 
         echo "init invoked"; 
         return array("hey"); 
        } 
    } 
    
  • следующая application.ini

    [production] 
    phpSettings.display_startup_errors = 0 
    phpSettings.display_errors = 0 
    includePaths.library = APPLICATION_PATH "/../library" 
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
    bootstrap.class = "Bootstrap" 
    
    pluginPaths.My_Resource = APPLICATION_PATH "/resources/" 
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
    
    resources.ftp.username = "me" 
    
    
    [staging : production] 
    
    [testing : production] 
    phpSettings.display_startup_errors = 1 
    phpSettings.display_errors = 1 
    
    [development : production] 
    phpSettings.display_startup_errors = 1 
    phpSettings.display_errors = 1 
    

ответ

1

Да, вы просто должны использовать путь к application.ini в качестве второго аргумента конструктора, например:

$application = new Zend_Application(
    APPLICATION_ENV, 
    APPLICATION_PATH . '/config/application.ini' 
); 

Это подход краткое руководство принимает: http://framework.zend.com/manual/en/zend.application.quick-start.html

В ваших .ini файл, который вы затем добавить пути к ресурсам, как:

pluginPaths.My_Resource = APPLICATION_PATH "/resources/" 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
+0

Спасибо за отве но это не сработает. Я обновил свой вопрос с помощью этой попытки и ошибки. –

+0

Не совсем уверен в сообщении об ошибке, попытается самостоятельно отладить его позже, но заметил, что сделал ошибку копирования/вставки в моем примере файла .ini: не должно быть точки после APPLICATION_PATH в строке pluginPaths - извините, попробуйте это без этого. –

+0

Теперь это работает! Большое спасибо! –