【发布时间】:2016-10-21 13:25:34
【问题描述】:
我正在使用自己的路由引擎创建自己的 MVC 框架。 当我调用一个页面时,我的 URL 是这样的:http://www.domain.com/lang/controller/method/
这个配置一切正常,但是当我通过 POST 发送参数时,我希望它们在我的函数声明中。
例如:$_POST => Array ( [login] => myLogin, [pwd] => myPassword) 表示函数 ConnectUser($login, $password).
我的控制器是一个单例。所以,我的函数调用是这样的:\core\controller\UserController::getInstance()->ConnectUser($login, $password).
我在一个字符串中生成我的调用。当我这样做时
$funcCall = $strCall . "::getInstance()->" . $_GET['action'] . "()";
forward_static_call_array($funcCall, $_POST);
我得到这个错误:
forward_static_call_array() expects parameter 1 to be a valid callback,
class 'core\controller\UserController' does not have a method 'getInstance()->Connect()'
你对我的问题有什么想法吗?
【问题讨论】:
-
很清楚..你的方法叫
ConnectUser,你的动作只有Connect -
复制粘贴代码时出错。 :)
标签: php function model-view-controller static call