这是我的网址http://localhost/mymvc/index.php?url=controller/method 我想通过$ _GET超级全局变量捕获“方法”,并获取Controller方法的访问类。 我想让所有方法都动态化
这是我的索引文件代码。
<?php
include 'inc/header.php';
include_once 'system/libs/MController.php';
include_once 'system/libs/Main.php';
$url = $_GET['url'];
$url = rtrim($url, '/');
$url = explode("/", $url);
include 'app/controllers/'.$url[0].'.php';
$ctlr = new $url[0]();
$ctlr->$url[1](); //---->(1) here is problem. I can't access my method this way
include 'inc/footer.php';
?>
这是我的Controller.php文件代码
<?php
/**
* controller
*/
class Controller extends MController{
public function __construct(){
// parent::__construct();
}
public function method(){
echo "Mohammad Arman from method";
}
}
?>
但是当我显示此输出时。在此错误和通知下方显示
**
1)注意:数组到字符串的转换 第15行的C:\ Users \ USER \ Documents \ wamp \ www \ mymvc \ index.php
2)注意:未定义的属性:Controller :: $ Array in 第15行的C:\ Users \ USER \ Documents \ wamp \ www \ mymvc \ index.php
3)致命错误:未捕获错误:函数名称必须为字符串 C:\ Users \ USER \ Documents \ wamp \ www \ mymvc \ index.php:15堆栈跟踪:#0 {main}放在C:\ Users \ USER \ Documents \ wamp \ www \ mymvc \ index.php中 第15行**
答案 0 :(得分:0)
您需要确保正确地分隔了用作函数名称的名称,
t.geometry "path", limit: {:srid=>4326, :type=>"line_string"}
可以解释为$ctlr->$url[1]();
,然后解释为$ctlr->$url
,但是您真正想要的是...
[1]