在Zend Framework 2中,如何讓一個視圖助手可用於多個模塊?Zend Framework 2自定義視圖助手 - 交叉模塊
我想要的是有一些通用功能,如算法功能,可以被多個模塊重複使用。
我當前在採埃孚2 2.0.3
謝謝。
在Zend Framework 2中,如何讓一個視圖助手可用於多個模塊?Zend Framework 2自定義視圖助手 - 交叉模塊
我想要的是有一些通用功能,如算法功能,可以被多個模塊重複使用。
我當前在採埃孚2 2.0.3
謝謝。
它很簡單,把它放在你的一個模塊中。您可以使用ZF2中其他模塊的類和函數。因爲ZF2中的模塊並不僅僅是命名空間,還有一些類。所以,如果你創建一個名稱爲\Module\View\Helper\MyHelper
的視圖助手,你可以簡單地在另一個模塊中使用視圖助手。
除了kokx所說的之外,您還需要爲視圖助手管理器添加服務管理器配置。這可以通過以下兩種方式之一完成:在模塊配置中或在Module類中。
// module configuration:
return array(
'view_helpers' => array(
'invokables' => array(
'dimmy' => 'DimmyUtil\View\Helper\DimmyUtil',
),
),
);
,或者在一個模塊類:
namespace DimmyUtil;
class Module
{
public function getViewHelperConfig()
{
return array('factories' => array(
'dimmy' => function ($helpers) {
// do some stuff...
return $helper;
}
));
}
}
一旦你這樣做,視圖助手將在整個組成模塊的任何應用程序可用。
這是正確的。如果它只是通用的東西,你可以把它全部放在它自己的模塊中(或者分解成更多特定的模塊),比如「DimmyUtilModule」。然後,您可以在不同的項目中重新使用該模塊。你甚至可以考慮給這個模塊自己的存儲庫,這樣你就可以將它帶入作曲家的未來項目中。 – timdev
感謝您的幫助!是的,擁有自己的模塊是一個很好的建議。問候。 – dimmy