未找到Laravel 5 Class'App\Http\Controllers\File'

jer*_*rik 24 php namespaces laravel illuminate-container laravel-5

我收到以下错误:

Class 'App\Http\Controllers\File' not found
Run Code Online (Sandbox Code Playgroud)

当在laravel 5控制器中使用时:

$files = File::files( $this->csvDir );
Run Code Online (Sandbox Code Playgroud)

我必须将文件系统添加到composer.jsonconfig/app.php.不知怎的,我使用了错误的配置.

这就是我改变的:

composer.json

    "require": {
        "laravel/framework": "5.0.*", 
        "illuminate/html": "5.*",
        "illuminate/filesystem": "5.*"  /* my try to repo */
    },
Run Code Online (Sandbox Code Playgroud)

配置/ 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
Run Code Online (Sandbox Code Playgroud)

当我运行时composer update,它运行良好,但没有输出文件系统的输出.所以我的配置错了,但我不知道正确的方法.

有什么建议或提示吗?

Mar*_*łek 54

首先,您应该考虑使用内置存储外观.Filesystem除非您使用S3或Rackspace,否则不需要手动包含,因为默认情况下它已经包含在内 - 请参阅Laravel 5文档中的Filesystem.

看来,你应该导入File所以尝试

use File;
Run Code Online (Sandbox Code Playgroud)

\File解决此问题,因为现在您正在使用当前命名空间中的文件,并且可能File未在App\Http\Controllers命名空间中定义