Dans ce chapitre nous verrons la configuration, la gestion des sessions et des fichiers avec un exemple simple d’envoi et d’enregistrement de fichiers images dans un dossier à partir d’un formulaire.

La configuration

Tout ce qui concerne la configuration de Laravel se trouve dans le dossier config :

Le dossier de configuration

Les fichiers de configuration contiennent en fait juste un tableau avec des clés et des valeurs. Par exemple pour les vues (view.php) :

<?php
return [

    'paths' => [
        realpath(base_path('resources/views')),
    ],
    
    ...

];

On a la clé paths et la valeur : un tableau avec realpath(base_path(‘resources/views’)). Pour récupérer une valeur il suffit d’utiliser sa clé avec l’helper config :

config('view.paths');

On utilise le nom du fichier (view) et le nom de la clé (paths) séparés par un point.

On peut aussi changer une valeur :

Config::set('view.paths', [base_path().'/mes_vues']);

Si je fais effectivement cela mes vues, au lieu d’être cherchées dans le dossier resources/views seront cherchées dans le dossier mes_vues.

Vous pouvez évidemment créer vos propres fichiers de configuration. Pour l’exemple de ce chapitre on va avoir besoin justement d’utiliser une configuration. Comme notre application doit enregistrer des fichiers d’images dans un dossier il faut définir l’emplacement et le nom de ce dossier de destination. On va donc créer un fichier images.php :

Le fichier de configuration des images

Dans ce fichier on va définir le nom du dossier :

return ['path' => 'uploads'];
  1. buzzeclair

    Salut,

    Je suis bloqué par une erreur d’autorisation.

    « HttpException
    This action is unauthorized. »

    Si quelqu’un à une idée merci.

  2. codeurh24

    Bonjour.

    Il y a une erreur avec la balise css.
    Evidament le css ne marche pas du coup
    j’ai modifié en:
    {!! Html::style( ‘https://netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css’) !!}
    et ça fonctionne.

    • Author bestmomo

      Bonsoir,

      Oui il y a eu apparemment un accident de copie ! Merci c’est rectifié.

  3. DerO

    Bonjour,

    Dans le Controller PhotoController il y a une parenthèse en trop à la ligne :

    $request->image->store(config(‘images.path’), ‘public’));

  4. zero-tech

    Excuse, pour le commentaire précédent j’avais pas remarqué que j’ai pas copié tout mon code.
    On me génère tantôt l’erreur spécifié en haut et le plus souvent cette erreur suivante : Parse error: syntax error, unexpected namespace (T_NAMESPACE).

    Voici le code, c’est celui du cours:
    namespace App\Http\Controllers;
     
    use App\Http\Requests\ImagesRequest;
    use App\Repositories\PhotosRepositoryInterface;
     
    class PhotoController extends Controller
    {
        public function create()
        {
            return view(‘photo’);
        }
     
        public function store(ImagesRequest $request, PhotosRepositoryInterface $photosRepository)
        {
            $photosRepository->save($request->image);
             
            return view(‘photo_ok’);
        }
    }

  5. zero-tech

    Bonjour,
    Besoin d’aide. J’ai cette erreure et d’après moi le code est correct d’autant plus que je l’ai copié dans ce cours et vérifié et revérifié.
    FatalThrowableError in PhotoController.php line 12:
    Parse error: syntax error, unexpected identifier (T_STRING), expecting ‘;’ or ‘{‘

    Voici mon code et merci d’avance :

    image->store(config(‘images.path’),’public’);
             
            return view(‘photo_ok’);
        }
    }

Laisser un commentaire