30

我收到以下错误:

Class 'App\Http\Controllers\File' not found

在 laravel 5 控制器中使用时:

$files = File::files( $this->csvDir );

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

这就是我改变的:

作曲家.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,它运行良好,但没有下载文件系统的输出。所以我的配置是错误的,但我不知道正确的方法。

有什么建议或提示吗?

4

1 回答 1

74

首先你应该考虑使用内置的 Storage 门面。除非您使用 S3 或 Rackspace,否则您不需要手动Filesystem包含,因为它已经默认包含 - 请查看Laravel 5 文档中的文件系统。

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

use File;

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

于 2015-04-17T16:44:13.390 回答