doucheng5209 2018-05-19 21:08
浏览 143
已采纳

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

this is index.php

<?php
  require 'core/bootstrap.php';
  require Router::load('routes.php')->direct(Request::uri());

this is 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];
    } 

}
}

Warning: require(): Filename cannot be empty in C:\xampp\htdocs\PhpProject1\index.php on line 6

Fatal error: require(): Failed opening required '' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\PhpProject1\index.php on line 6

I'm getting this error.

  • 写回答

1条回答 默认 最新

  • dongpan5289 2018-05-19 21:33
    关注

    This is calling the function direct inside your router.

    public function direct($uri)
    

    If the route defined by $uri is not found then the function returns nothing. So when you are calling the following with an invalid route:

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

    You are actually calling

    require;
    

    This will result in the empty filename error.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来