web-dev-qa-db-fra.com

Laravel 5 Classe 'App \ Http \ Controllers \ File' introuvable

j'obtiens l'erreur suivante:

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

lors de l'utilisation dans laravel 5 Controller:

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

Je dois ajouter le Filesystem à composer.json et config/app.php. D'une certaine manière, j'utilise une mauvaise configuration.

Voilà ce que j'ai changé:

composer.json

    "require": {
        "laravel/framework": "5.0.*", 
        "illuminate/html": "5.*",
        "illuminate/filesystem": "5.*"  /* my try to repo */
    },

config/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

Quand je lance composer update, il fonctionne bien, mais il n'y a aucune sortie que le système de fichiers est téléchargé. Donc ma configuration est fausse, mais je ne connais pas la bonne façon.

Des suggestions ou des conseils?

23
jerik

Vous devez d'abord envisager d'utiliser la façade de stockage intégrée. Vous n'avez pas besoin d'inclure manuellement Filesystem sauf si vous utilisez S3 ou Rackspace car il est déjà inclus par défaut - regardez Filesystem in Laravel 5 documentation .

Il semble également que vous devez importer File alors essayez

use File;

ou \File pour résoudre le problème car vous utilisez maintenant le fichier de l'espace de noms actuel et probablement File n'est pas défini dans App\Http\Controllers espace de noms

52
Marcin Nabiałek