Laravel 5.5 - ReflectionException (-1) Class 不存在
Laravel 5.5 - ReflectionException (-1) Class does not exist
我正在尝试使用 ReflectionClass 从控制器获取文件名(从应用程序目录)。为了测试我是否可以使用 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
目录文件。
我也运行以下命令
- 作曲家 dump-autoload
- 作曲家更新
- php artisan config:clear
- php artisan cache:clear
但我仍然收到此错误。谁能告诉我如何解决这个问题?
您的问题是 ReflectionClass
将 class 路径作为 constructor argument,而不是文件路径。请尝试 new ReflectionClass('\App\Drama')
。
我正在尝试使用 ReflectionClass 从控制器获取文件名(从应用程序目录)。为了测试我是否可以使用 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
目录文件。
我也运行以下命令
- 作曲家 dump-autoload
- 作曲家更新
- php artisan config:clear
- php artisan cache:clear
但我仍然收到此错误。谁能告诉我如何解决这个问题?
您的问题是 ReflectionClass
将 class 路径作为 constructor argument,而不是文件路径。请尝试 new ReflectionClass('\App\Drama')
。