一直在想办法:
$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction() . '()';
$this->${action};
}
public function Name() { .... }
$action
应该是$_GET
或$_POST
操作键的值。
如何使用加载$action
方法$this->$action()
?
谢谢!
一直在想办法:
$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction() . '()';
$this->${action};
}
public function Name() { .... }
$action
应该是$_GET
或$_POST
操作键的值。
如何使用加载$action
方法$this->$action()
?
谢谢!
您不想将 附加()
到字符串,而是将它们添加到调用中。
像这样:
$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction();
$this->$action();
它们被称为“变量函数” - http://php.net/manual/en/functions.variable-functions.php
如果它可以是 $_GET或$_POST,那么您可以使用 $_REQUEST。
所以在你的情况下,它会是这样的:
$action = $_REQUEST['action'];
$this->$action();
但是您提供的代码的解决方案就是这样做:
$utils = $this->load( 'helper', 'Utils' );
$action = $utils->getAction();
$this->$action();