2011-05-17 73 views
0

我剛開始使用Zend Framework 2.0並想加載自己的資源。在Zend Framework中加載自定義資源2

我自己的庫PWS駐留在庫文件夾中。

要覆蓋FrontController設計資源,我有以下文件 PWS /應用/資源/ 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" 

該項目使用模塊,但我不認爲這會影響問題。

當我調試類ResourceLoader(其中包含硬編碼的資源路徑)用於加載FrontController而不是我自己的資源。

這不是緊急,但煩人:)

回答

0

資源是否區分大小寫?我知道它是「Frontcontroller」而不是「FrontController」。
也許試試看?沒有多少人去就在這裏...:]

(這是我與ZF1的經驗,而不是2)

+1

這確實是在ZF1而不是在ZF2(帶來更多的框架一致性) – roelio 2011-05-17 20:46:42

+0

很高興知道,謝謝。 – 2011-05-17 20:51:59

0

一些痛苦的調試後,我發現我的加載自定義資源的方式。

在我的引導文件我插入以下功能:

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

這將替換在用我自己的類資源加載的硬編碼frontcontroller路徑。

這仍然不是我想要的,因爲這樣我無法從我自己的資源命名空間一次加載所有資源。而application.ini中的pluginPaths變量不能完成這項工作。但是這樣更快,因爲Zend不必遍歷目錄來找到合適的類。

認爲我必須等待包含一些文檔的ZF2版本。