未找到 Laravel 5 类“App\Http\Controllers\File”
Posted
技术标签:
【中文标题】未找到 Laravel 5 类“App\\Http\\Controllers\\File”【英文标题】:Laravel 5 Class 'App\Http\Controllers\File' not found未找到 Laravel 5 类“App\Http\Controllers\File” 【发布时间】:2015-06-24 15:18:53 【问题描述】:我收到以下错误:
Class 'App\Http\Controllers\File' not found
在 laravel 5 控制器中使用时:
$files = File::files( $this->csvDir );
我必须将Filesystem 添加到composer.json
和config/app.php
。不知何故,我使用了错误的配置。
这就是我改变的:
composer.json
"require":
"laravel/framework": "5.0.*",
"illuminate/html": "5.*",
"illuminate/filesystem": "5.*" /* my try to repo */
,
配置/app.php
'providers' => [
// [...]
// jerik 2015-04-17: get html Forms
// http://laravel.io/forum/09-20-2014-html-form-class-not-found-in-laravel-5
'Illuminate\Html\HtmlServiceProvider',
'Illuminate\Filesystem\FilesystemServiceProvider', // try to add file
当我运行composer update
时,它运行良好,但没有输出文件系统已下载。所以我的配置是错误的,但我不知道正确的方法。
有什么建议或提示吗?
【问题讨论】:
代替$files = File::files( $this->csvDir );
试试$files = \File::files( $this->csvDir );
我认为你没有在 app.php 中添加 Facade
不应该是框架自带的吗?
【参考方案1】:
首先你应该考虑使用内置的存储门面。除非您使用 S3 或 Rackspace,否则您无需手动包含 Filesystem
,因为它已默认包含 - 请查看 Filesystem in Laravel 5 documentation。
看来,你应该导入File
所以试试
use File;
或\File
来解决问题,因为现在您正在使用当前命名空间中的文件,并且File
可能未在App\Http\Controllers
命名空间中定义
【讨论】:
我希望 Laravel/artisan 自动添加“使用 App[Model];”到创建控制器时的顶部。 未定义符号'文件'.intelephense(1002) @sabertababaeyazdi,您是否知道如何在 VSCode 中消除该错误消息?我得到了同样的结果,即使代码运行良好。 @sabertababaeeyazdi 看起来像是最新版本的 Intellephense 中引入的新行为/错误。见***.com/q/59149877/1467680以上是关于未找到 Laravel 5 类“App\Http\Controllers\File”的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 错误:未捕获的 ReflectionException:类 App\Http\Kernel 不存在
Laravel 5.1 错误调用未定义函数 App\Http\Controllers\Auth\sendRegistermail()
Laravel 5 未找到类“Illuminate\Html\HtmlServiceProvider”