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

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 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据