这是index.php
<?php
require 'core/bootstrap.php';
require Router::load('routes.php')->direct(Request::uri());
这是Router.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];
}
}
}
警告:require():第6行的C:\ xampp \ htdocs \ PhpProject1 \ index.php中的文件名不能为空
致命错误:require():无法打开所需的&#39;&#39;第6行的C:\ xampp \ htdocs \ PhpProject1 \ index.php中的(include_path =&#39; C:\ xampp \ php \ PEAR&#39;)
我收到此错误。
答案 0 :(得分:0)
这是在你的路由器中调用函数direct
。
public function direct($uri)
如果找不到$uri
定义的路由,则该函数不返回任何内容。
因此,当您使用无效路线呼叫以下内容时:
require Router::load('routes.php')->direct(Request::uri());
你实际上是在打电话
require;
这将导致empty filename
错误。