這是我的主要索引文件我希望當我在瀏覽器中寫入它時加載關於頁面但它失敗。Php路徑不會改變瀏覽器欄中的效果
<?php
$database = require 'core/bootstrap.php';
require Router::load('routes.php')
->direct(Request::uri());
?>
這是我routes.php文件文件
<?php
$router->define([
'' => 'controllers/index.php',
'about' => 'controllers/about.php',
'about-culture' => 'controllers/about-culture.php',
'contact' => 'controllers/contact.php'
]);
?>
這是我的路由器文件
<?php
class Router
{
protected $routes = [];
public static function load($file)
{
$router = new static;
require $file;
return $router;
}
public function define($routes)
{
$this->routes = $routes;
}
public function direct($uri)
{
if(array_key_exists($uri , $this->routes))
{
return $this->routes[$uri];
}
throw new Exception('No Routes defined for this URL');
}
}
?>
我不`噸知道什麼是錯誤在這裏,我想很多,並觀看教程,並做到完全一樣,但我沒有顯示輸出。
require Router::load('routes.php')
->direct(Request::uri());
當我寫只是一個開始
本地主機:8080 /開始/(這是我的所有文件都存在的文件夾,它給了我這個錯誤
致命錯誤:未捕獲的異常:無在C:\ xampp \ htdocs \ start \ core \ Router.php中爲此URL定義的路由:25堆棧跟蹤:#0 C:\ xampp \ htdocs \ start \ index.php(8):Router-> direct('start ')#1 {main}扔在第25行的C:\ xampp \ htdocs \ start \ core \ Router.php
當我加載頁面時,找不到對象。
Request類
<?php
class Request
{
public static function uri()
{
return trim($_SERVER['REQUEST_URI'], '/');
}
}
?>
'的var_dump(支持:: URI())'看它說什麼。它可能是說'開始/'或類似的不在你的列表中。 –
字符串(5)「開始」這是你正在使用的路由器庫的答案 –
? – siddhesh