Я пытаюсь создать своего рода диспетчер для своего веб-сайта (потому что я должен сделать это вручную и узнать, как я могу это сделать)
$uri = array_filter(explode("/", filter_input(INPUT_SERVER, "PATH_INFO")));
$_SERVER["URI"] = $uri;
switch (sizeof($uri)) {
case 0:
error();
exit(0);
break;
case 1:
call_user_func("$uri[1]::__construct");
break;
default :
call_user_method_array("$uri[2]", call_user_func("$uri[1]::getInstance"));
break;
}
Это то, что у меня есть, но я получаю это:
Отправка HTTP: //localhost/BACK/index.php/Page/data ASD = 1
а также
Отправка HTTP: //localhost/BACK/index.php/Page ASD = 1
Я знаю, что я совершенно неправ, но я не могу найти помощь …
Я изменил свою функцию и теперь работает правильно
$uri = array_filter(explode("/", filter_input(INPUT_SERVER, "PATH_INFO")));
$_SERVER["URI"] = $uri;
switch (sizeof($uri)) {
case 0:
error();
exit(0);
break;
case 1:
$refClass = new ReflectionClass("$uri[1]");
$class_instance = $refClass->newInstanceArgs((array) null);
break;
default :
$refClass = new ReflectionClass("$uri[1]");
$class_instance = $refClass->newInstanceArgs((array) null);
$class_instance->$uri[2]();
break;
}
Других решений пока нет …