Загрузка пользовательских ресурсов в Zend Framework 2 - PullRequest
0 голосов
/ 17 мая 2011

Я только начал с Zend Framework 2.0 и хотел загрузить свои собственные ресурсы.

Моя собственная библиотека PWS находится в папке библиотеки.

Для переопределения ресурса FrontController у меня есть следующий файл PWS / Application / Resource / FrontController.php

<?php

namespace PWS\Application\Resource;

class FrontController extends \Zend\Application\Resource\FrontController
{

    public function init()
    {
        return parent::init()
    }
}

В моем application.ini у меня есть следующие соответствующие строки:

autoLoaderNamespaces.PWS = APPLICATION_PATH "/../library/PWS"
pluginPaths.PWS\Application\Resource\ = APPLICATION_PATH "/../library/PWS/Application/Resource"

В проекте используются модули, но я не думаю, что это должно повлиять на проблему.

Когда я отлаживал, для загрузки FrontController вместо моего собственного ресурса использовался класс ResourceLoader (который содержит жестко заданные пути к ресурсам).

Это не срочно, а раздражает :)

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

После некоторой мучительной отладки я нашел способ загрузки своих пользовательских ресурсов.

В моем файле начальной загрузки я вставил следующую функцию:

function _initResources() 
{
     $broker = $this->getBroker();
     $broker->getClassLoader()->registerPlugin('frontcontroller', 'PWS\Application\Resource\FrontController');
}

Это заменяет жестко закодированный путь frontcontroller в ResourceLoader моим собственным классом.

Это все еще не то, что я хотел, потому что таким образом я не могу загрузить все ресурсы сразу из моего собственного пространства имен ресурсов. И переменная pluginPaths в application.ini не выполняет эту работу. Но так быстрее, потому что Zend не нужно перебирать каталог, чтобы найти правильный класс.

Думаю, мне нужно дождаться релиза ZF2, который содержит некоторую документацию.

0 голосов
/ 18 мая 2011

Чувствительны ли регистр ресурсов? Я знаю, что это «Frontcontroller», а не «FrontController».
Может быть, попробовать? Не так много еще здесь ...:]

(Это из моего опыта с ZF1, а не 2)

...