2013-03-18 68 views
-1

我想在ZF2創建一個自定義視圖助手,我也跟着在這裏這是非常簡單的說明: http://framework.zend.com/manual/2.0/en/modules/zend.view.helpers.advanced-usage.htmlZF2自定義視圖助手停止執行

但是當我打電話$this->SpecialPurpose()執行沒有錯誤停止。

我跑了調試,得到了以下錯誤:

Warning: Class 'Zend\Stdlib\ArrayObject\PhpReferenceCompatibility' not found in C:\Program Files (x86)\Zend\ZendServer\data\apps\http\__default__\0\MT5_0\1.0.0\vendor\zendframework\zendframework\library\Zend\Stdlib\ArrayObject.php on line 24 

Fatal error: Class 'Zend\Stdlib\AbstractArrayObject' not found in C:\Program Files (x86)\Zend\ZendServer\data\apps\http\__default__\0\MT5_0\1.0.0\vendor\zendframework\zendframework\library\Zend\Stdlib\ArrayObject.php on line 33 

最後我要的是擴展網址助手作出它生成的URL的一些變化,但我還沒有能讓這個簡單的例子工作。

感謝

,你已經設置了輔助 的module.config模塊
+0

Zend應用程序本身運行,只有視圖幫手不?在這種情況下,請提供view-helper的代碼以及viewHelperConfig – Sam 2013-03-18 18:02:12

+0

試試本教程http://samsonasik.wordpress.com/2012/07/20/zend-framework-2-create-your-custom- view-helper/ – Developer 2013-03-18 18:37:33

+0

謝謝你的教程是非常有用的,並且定製助手現在按預期運行,現在我想擴展URL助手或者至少從我的助手中調用它,但我似乎無法提供RouterStackInterface的助手。 我該怎麼辦? – Juan 2013-03-19 10:20:09

回答

0

把這個代碼:

'view_helpers' => array(
     'invokables' => array(
      'SpecialPurpose' => 'your_module_name\View\Helper\SpecialPurpose', 
     ) 
    ), 

或Module.php

public function getViewHelperConfig() 
{ 
    return array(
      'invokables' => array(
      'SpecialPurpose' => 'your_module_name\View\Helper\SpecialPurpose', 
     ) 
    ); 
} 
在參考

這是很難看到,但有:)

// From within a configuration file 
return array(
    'view_helpers' => array(
     'invokables' => array(
     'lowercase' => 'My\Helper\LowerCase', 
     'uppercase' => 'My\Helper\UpperCase', 
    ), 
    ), 
); 

希望這會有所幫助。

+0

謝謝,我實際上在module.config中和Module.php中都有代碼,我不確定這是否是問題所在,我基本上重寫了整個事情,現在按預期工作。 到第二點是否有可能從這個自定義助手中調用url助手或擴展url而不是AbstractHelper? 我已經嘗試了兩個,但得到錯誤 '沒有RouteStackInterface實例提供' 我想我需要在工廠注入路由器?我會如何去做這件事? – Juan 2013-03-19 10:00:43