我在&#34中有一个问题;我这样做了吗?",让我解释一下..我在项目中包含了TreeRoute,示例中没有包含如何调用附加到路由的处理程序
我别无选择,只能自己实施这部分,我继续尝试,然后遇到了问题。我所拥有的只是该文件的命名空间。现在,1个选项只是将文件位置放在路径而不是命名空间中,但我认为这不是一个好的编程实践。
我已经使用过Laravel这样的框架,你只需要放置一个命名空间,它包含了适合你的类,我已经尝试过这样做,但我所拥有的只是命名空间,我想我的问题是我如何通过其命名空间包含一个类,但是我再次这样做了吗?这感觉是错误和肮脏的,如果有人能帮助清除这个混乱,那将是非常欣赏的
routes.php文件:
<?php declare(strict_types = 1);
$router = new \TreeRoute\Router();
$router->addRoute(['GET', 'POST'], '/', ['Phantom\Controllers\Frontend\Guest\LoginController', 'getView']);
bootstrap.php中:
require 'routes.php';
$method = $_SERVER['REQUEST_METHOD'];
$url = $_SERVER['REQUEST_URI'];
$result = $router->dispatch($method, $url);
if (!isset($result['error'])) {
$handler = $result['handler'];
$class = $handler[0];
include $class . '.php';
$class = new $class;
$method = $handler[1];
$class->$method();
}
else {
switch ($result['error']['code']) {
case 404 :
echo 'Not found handler here...';
break;
case 405 :
$allowedMethods = $result['allowed'];
if ($method == 'OPTIONS') {
echo 'OPTIONS method handler here...';
}
else {
echo 'Method not allowed handler here...';
}
break;
}
}