我正在从laracast(https://laracasts.com/series/php-for-beginners)开始学习本教程,我正在本系列中的这一集(16 - Make a Router)。其中显示了如何构建基本路由器。我已经完成了我的知识,如视频中所示,但我遇到了构建路由器的问题。 我收到此错误消息:
致命错误:未捕获的异常'异常',消息为“无路由” 在第23行的C:\ wamp64 \ www \ todo \ core \ Router.php中定义此uri' 例外:没有路由为此uri定义 第23行的C:\ wamp64 \ www \ todo \ core \ Router.php
如何通过此错误?这是我的代码
routes.php文件:
$router->define([
'' => 'controllers/index.php',
'about' => 'controllers/about.php',
'contact' => 'controllers/contact.php'
]);
Router.php
class Router
{
protected $routes = [];
// this function defines our routes
public function define($routes)
{
# code...
$this->routes = $routes;
}
public function direct($uri){
if (array_key_exists($uri, $this->routes)) {
# code...
return $this->routes[$uri];
}
throw new Exception("No routes define for this uri");
}
}
Index.php
$database = require 'core/bootstrap.php';
$router = new Router;
require 'routes.php';
$uri = trim($_SERVER['REQUEST_URI'], '/');
require $router->direct($uri);
如果您需要更多信息,请通知我。
更新 这是我在wampserver www文件夹中的网站结构:
答案 0 :(得分:3)
我在这门课程中遇到了同样的问题。我觉得你已经有了htcaccess文件
中的这些代码var express = require('express');
var app = express();
app.use('/', express.static('./'));
app.listen(80);
无论如何,路线应该是这样的
RewriteEngine On
RewriteBase /todo/
RewriteRule ^.*$ index.php [END]
或者您可以从cmd连接到PHP内置Web服务器,它也将为您解决路由问题
此致