Laravel France

Création de fichier

  • Avatar de Jean-M4rc
    Membre depuis :
    17/08/2018
    Messages :
    12

    Bonjour à toutes et tous,

    voilà je réalise actuellement un petit site perso où je souhaite présenter mes projets sous forme de "blog". Dans le sens où mes projets seraient "commentables" par les utilisateurs enregistrés et consultables par quiconque.

    Pour se faire je voudrais créer la possibilité de créer un objet projet (pour permettre de l'identifier et ainsi d'en faire référence) et je souhaiterai créer un fichier project. project->id().blade.php à la création du projet. Cette vue je la rempli ensuite à la mano pour pouvoir gérer de manière fine et personnalisée le style etc.

    Lorsque je consulte la doc sur le "File storage" il est question de sauvegarder des documents dans le dossier storage,voir de faire un lien vers le dossier public (storage:link) mais est-ce que je peux créer une vue ?

    Aussi je m'inspire beaucoup de votre dernier projet avec Laravel 5.7. Je suis débutant et j'essaye de transposer votre démarche des "catégories" sur mes projets (en utilisant aussi le slug), et les images en "commentaires". Plusieurs commentaires par projet. Un seul projet par commentaire. Et l'administrateur (peut créer ses projets par le site).

    Voilà désolé pour mon ignorance >.<

    Aussi je me demande où placer cette action (suivant la structure de votre Albumplus) dans le ProjectController je ne pense pas que cela soit "bien", dans le ProjectRepository (inspiré du CategoryRepository) où j'ai accès à l'objet "project" et donc à son slug ? Ou encore ailleurs ?

    Avec la méthode fopen() j'arrive à créer un fichier dans mon dossier public, d'où un problème d'écriture dans le fichier views ? Je suis encore en local ^^

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2548

    Bonjour,

    Avec le file storage on fait ce qu'on veut dans le dossier qu'on veut, il suffit de bien renseigner le config/filesystems.php. On y définit des "disques", donc il est facile de créer un "disque" pour accéder aux vues :

    'disks' => [
    ...
    'views' => [
    'driver' => 'local',
    'root' => resource_path() . ('/views'),
    'visibility' => 'public',
    ],

    Ensuite on utilise ce disque :

    Storage::disk('views')->put( 'mavue.blade.php', $contenudemavue);
  • Avatar de Jean-M4rc
    Membre depuis :
    17/08/2018
    Messages :
    12

    Merci beaucoup :-)

    Génial !

Vous ne pouvez pas répondre à ce sujet.