我正在嘗試編寫一個動態調用其他助手的視圖助手,並且我無法傳遞多個參數。下面的場景將工作:zf2在動態助手調用中傳遞多個參數
$helperName = "foo";
$args = "apples";
$helperResult = $this->view->$helperName($args);
然而,我想要做這樣的事情:
$helperName = "bar";
$args = "apples, bananas, oranges";
$helperResult = $this->view->$helperName($args);
與此:
class bar extends AbstractHelper
{
public function __invoke($arg1, $arg2, $arg)
{
...
,但它傳遞"apples, bananas, oranges"
到$arg1
並沒有給其他論點。
我不想在調用幫助器時發送多個參數,因爲不同的幫助器採用不同數量的參數。我不想寫我的助手把參數作爲一個數組,因爲整個項目的其餘部分的代碼都用謹慎的參數調用助手。
完善。在我的情況下,助手接收'$ args'作爲逗號分隔的字符串,所以我不能動態地寫'$ args = array('apple','bananas','oranges');'。但是,數組轉換很容易用'$ args = explode(「,」,$ args);'來實現。 – jcropp