我试图在php中构建路由脚本。
它目前正在工作,但现在我想添加参数,这就是我卡住的地方。
我正在使用的代码:
$ controllerName是类的名称。 $ action是要调用的方法的名称。
$controllerClass = new $controllername();
$controllerClass->$action();
我想要解析到方法中的参数是在数组中。
我的问题是在被调用的方法中对对象内部的(公共)变量进行引用,所以如果我使用:
call_user_func_array()
我遇到错误:Using $this when not in object context
有人有个好主意解决这个问题吗?
编辑:发现我的问题,当我使用call_user_func_array()时,我将类名作为参数而不是对象。这就是为什么它不是对象模式而是静态模式。答案 0 :(得分:0)
您正在某个不属于类定义的地方使用$this
。 $this
只能在一个班级中使用。