php警告:require():文件名不能为空

时间:2018-05-19 21:08:51

标签: php

这是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;)

我收到此错误。

1 个答案:

答案 0 :(得分:0)

这是在你的路由器中调用函数direct

public function direct($uri)

如果找不到$uri定义的路由,则该函数不返回任何内容。 因此,当您使用无效路线呼叫以下内容时:

require Router::load('routes.php')->direct(Request::uri());

你实际上是在打电话

require;

这将导致empty filename错误。