一直試圖弄明白:
$utils = $this->load('helper', 'Utils');
$action = $utils->getAction() . '()';
$this->${action};
}
public function Name() { .... }
$action
應該是操作鍵的$_GET
或$_POST
值。
如何使用$this->$action()
加載方法$action
?
謝謝!
一直試圖弄明白:
$utils = $this->load('helper', 'Utils');
$action = $utils->getAction() . '()';
$this->${action};
}
public function Name() { .... }
$action
應該是操作鍵的$_GET
或$_POST
值。
如何使用$this->$action()
加載方法$action
?
謝謝!
你不想追加()
到字符串,但將它們添加到該調用。
像這樣:
$utils = $this->load('helper', 'Utils');
$action = $utils->getAction();
$this->$action();
他們被稱爲 「變量函數」 - http://php.net/manual/en/functions.variable-functions.php
非常感謝!那個男人呢?我甚至不知道要搜索什麼。 – JorgeeFG
變量功能 - 添加手動鏈接來回答。 –
如果它可以是$ _GET 或 $ _POST,那麼您可以使用$ _REQUEST。
所以你的情況會是這樣的:
$action = $_REQUEST['action'];
$this->$action();
但是解決您所提供的代碼只是做:
$utils = $this->load('helper', 'Utils');
$action = $utils->getAction();
$this->$action();
非常感謝$ _REQUEST的東西,不知道它! – JorgeeFG
'$行動= $ _GET [ '行動']; $這 - > $行動();'? – Supericy
您不需要$符號即可。只需$ this-> action() –
@Supericy,使用它給我的Helper'不能將對象轉換爲字符串',我想使用助手,因爲我必須從$ _POST或$ _GET獲取許多參數,並且這樣我不重寫相同的代碼。 – JorgeeFG