繁体   English   中英

Laravel 5.5 - ReflectionException (-1) Class 不存在

[英]Laravel 5.5 - ReflectionException (-1) Class does not exist

我正在尝试使用 ReflectionClass 从 controller 获取文件名(来自应用程序目录)。 为了测试我是否可以使用 ReflectionClass,我尝试了以下方式:

在我的 MyController.php

public function readContent()
{

    $files = app_path() . DIRECTORY_SEPARATOR. "Drama.php"; 
    // It returns "F:\xampp\htdocs\projectDirectory\app\Drama.php"

    $class = new ReflectionClass($files);
    echo "file name:: ". $class->getFileName();
}

我在这个路径中有一个Drama.php文件。 但是,当我运行此方法的路线时,出现以下错误

ReflectionException (-1)
Class F:\xampp\htdocs\projectDirectory\app\Drama.php does not exist

我已经更新了我的composer.json文件,如下所示:

"autoload": {
        "classmap": [
            "app",
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },

这样,我就可以读取我的app目录文件。

我还运行了以下命令

  • 作曲家转储自动加载
  • 作曲家更新
  • php 工匠配置:清除
  • php 工匠缓存:清除

但我仍然收到此错误。 谁能告诉我如何解决这个问题?

您的问题是ReflectionClass将 class 路径作为构造函数参数,而不是文件路径。 尝试new ReflectionClass('\App\Drama')代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM