2012-07-29 65 views
0

我目前在我的模塊中有以下設置。設置視圖助手

public function onBootstrap(EventInterface $e) 
    { 

     // You may not need to do this if you're doing it elsewhere in your 
     // application 
     $eventManager = $e->getApplication()->getEventManager(); 

     $serviceManager = $e->getApplication()->getServiceManager(); 

     $moduleRouteListener = new ModuleRouteListener(); 
     $moduleRouteListener->attach($eventManager); 

     //TODO think about moving this to somewhere more appropriate 
     $renderer = $serviceManager->get('Zend\View\Renderer\PhpRenderer'); 
     $renderer->headTitle('uDare')->setSeparator(' - '); 

    } 

有沒有更好的方法來做到這一點或我應該附加到其他事件?

我問這是因爲我在嘗試使用Doctrine2ORMModule時遇到問題。

當我訪問我的本地主機上的網頁時,一切正常。但是,當我在命令行中運行

./vendor/bin/doctrine-module --verbose 

我得到一個錯誤說下面

PHP Fatal error: Uncaught exception 'Zend\ServiceManager\Exception\ServiceNotFoundException' 
with message 'Zend\ServiceManager\ServiceManager::get was unable to 
fetch or create an instance for Zend\View\Renderer\PhpRenderer' 
in /Library/WebServer/Documents/udare/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:407 
Stack trace: 
#0 /Library/WebServer/Documents/udare/modules/Web/Module.php(56): Zend\ServiceManager\ServiceManager->get('Zend\View\Rende...') 

回答

0

一個好地方可能會在你的layout.phtml

如果你需要它是可配置的,你可以

  1. 把它放在你layout.phtml
  2. 寫你自己的視圖助手充當適配器這一
  3. headTitle創建自定義工廠查看幫助程序
  4. 等到所有視圖助手都可以由服務管理器配置 - 不僅僅是其中的一些。看看Zend\Mvc\Service\ViewHelperManagerFactory來了解這個。

我沒有測試過3 & 4 - 我喜歡1.因爲這是一個view/phprenderer具體問題。

2

近來有合併成ZF2其改變控制檯請求的呈現方式。看來這些更改可能已經破壞了DoctrineORMModule CLI。請在github上提出問題,它會很快修復。

1

我有同樣的問題

我注意到,它造成的,我安裝了「ZendDeveloperTools」

我刪除它從模塊加載在我application.config.php文件和錯誤固定

新模塊
+0

我沒有安裝在我身邊的那個模塊。也許他們共享一些配置設置? – 2012-08-02 18:15:16

+0

嘗試在你的配置中禁用第三方模塊...它可以幫助 – 2012-08-03 21:25:26

+0

是的,這是正確的@SinaMiandashti – tawfekov 2012-08-06 15:31:05