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

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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀