0

一直在想办法:

$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction() . '()';
$this->${action};
} 
public function Name() { .... }

$action应该是$_GET$_POST操作键的值。

如何使用加载$action方法$this->$action()

谢谢!

4

2 回答 2

2

您不想将 附加()到字符串,而是将它们添加到调用中。

像这样:

$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction();
$this->$action();

它们被称为“变量函数” - http://php.net/manual/en/functions.variable-functions.php

于 2013-01-07T04:52:46.133 回答
1

如果它可以是 $_GET$_POST,那么您可以使用 $_REQUEST。

所以在你的情况下,它会是这样的:

$action = $_REQUEST['action'];
$this->$action();

但是您提供的代码的解决方案就是这样做:

$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction();
$this->$action();
于 2013-01-07T04:52:27.480 回答