IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Passer des variables à une vue [5.6]


Sujet :

Laravel PHP

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut Passer des variables à une vue
    Bonjour,

    Je débute dans l'utilisation de framework et j'essaye de me mettre à Laravel.

    J'ai une vue (home), une route (home) et un controller. Dans ce controller, je récupère des infos sur le serveur, que je voudrais ensuite afficher sur ma vue home, mais je ne sais pas comment faire pour lui passer ces infos...

    Voilà mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?php
     
    namespace App\Http\Controllers;
     
    use App\User;
    use App\Http\Controllers\Controller;
     
    class InfosController extends Controller
    {
        /**
         *
         *
         */
        public function infos()
        {
        $system = php_uname();
        $host = php_uname();
        $arch = php_uname();
        $phpversion = phpversion();
        $mailAdmin = $_SERVER['SERVER_ADMIN'];
        $servAdd = $_SERVER['SERVER_ADDR'];
        $servHost = $_SERVER['HTTP_HOST'];
        $visitorLang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
     
        }
    }
    Mes routes dans wep.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Route::get('/', function() {
        return view('home');
    })->name('home');
     
     
    Route::get('/files', ['as' => 'files', function()
    {
      return view('files');
    }]);
     
     
    Route::get('/map', ['as' => 'map', function()
    {
      return view('map');
    }]);
     
     
    /* mail contact */
    Route::get('/contact', 'ContactController@show');
    Route::post('/contact',  'ContactController@mailToAdmin');

    Et ma vue avec la div info ou je voudrais afficher mes infos du controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    @extends('welcome')
     
    @section('content')
     
       Contenu de la page Principale
     
    @stop
     
    @section('contentP2')
    <div id="weather">
    </div>
     
    <div id="infos">
     
     
    </div>
     
    @stop
    Un ptit coup de main svp ?
    Merci d'avance,

    Librement,

    ANDRE Ani
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Avant de mal t'embarqué, comme tu as l'air de le faire...je te conseille la lecture ici : http://laravel.sillo.org/cours-larav...tion-generale/

    Une fois fais reviens nous voir....tu auras assimilé le principe des routes/vue/données....

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    Merci du conseil. J'ai déjà lu ceci, ainsi que pas mal de la doc officielle (routing, controllers...). Et je comprends le fonctionnement du modèle MVC. Mais là, je n'arrive pas à mettre en place cette petite fonctionnalité.

    J'ai essayé ceci, de la doc officielle, pour appeler mon controller avec ma route mais ensuite, il ne trouve pas mes variables dans la vue :

    Route::get('home', 'InfosController@infos');


    Dois-je, dans le controller (cf la doc) faire quelque chose comme ceci pour lui passer directement mes variables ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public function infos()
        {
            return view('home', [
            'system' => $system,
        ]);
        }
    Je suis un peu perdu...

    Librement,

    ANDRE Ani
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    C'est exactement ça.

    Après il y a plusieurs façons de passer ce tableau à la vue....mais c'est le principe.

  5. #5
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    J'ai vu que l'on pouvait aussi passer les variables, non depuis le controller, mais depuis la route, dans web.php, non ? Qu'elle est la meilleur méthode à utiliser, le plus propre ?
    Je suppose que cela dépend aussi du contexte ? Ici, c'est un controller très simple avec peu de variables.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  6. #6
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    J'ai réussi.
    Par contre, si je met une option à $system = php_uname(); dans php_uname(), elle n'est pas reconnue...

    Et si j'ai plusieurs class qui doivent passer des valeurs à une vue, comment puis-je faire ?

    Merci d'avance ;-)
    Librement,

    ANDRE Ani
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Ceci fonctionne parfaitement bien chez moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public function infos()
        {
            $system = php_uname('s');
            return view('home', [
            'system' => $system,
        ]);
        }
    ou ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Route::get('/', function() {
         $system = php_uname('s');
        return view('home',compact('system'));
    })->name('home');

  8. #8
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Merci ;-)
    Je ne mettais pas les ' et ', sûrement à cause de cela que ça ne fonctionnait pas.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  9. #9
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Citation Envoyé par lostsoul Voir le message
    J'ai vu que l'on pouvait aussi passer les variables, non depuis le controller, mais depuis la route, dans web.php, non ? Qu'elle est la meilleur méthode à utiliser, le plus propre ?
    Je suppose que cela dépend aussi du contexte ? Ici, c'est un controller très simple avec peu de variables.
    Tu peux utiliser la fonction share depuis la route web.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    View::share('key', 'value');

  10. #10
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Merci, je ne connaissais pas.

    J'ai fais un ptit site (modèle MVCmais sans framework) avec diverses fonctionnalités (todo list, lecteur RSS...) et j'essaye de le refaire avec Laravel et... Je patauge complètement...
    Je n'arrive quasi à rien pour remettre en place ce que j'avais fais. Un peu perturbant l'utilisation d'un framework au début.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  11. #11
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    J'étais comme toi quand j'ai commencé à utiliser le framework Laravel (n'ayant utilisé aucun fw avant lui) mais après avoir fait un site déjà c'était beaucoup mieux et je commençait à voir les avantages.

    Maintenant je ne conçois pas faire de site sans ce framework, c'est un gain de temps considérable. Continue à l'apprendre, tu ne regrettera pas !

  12. #12
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Oui, c'est certain que c'est un avantage d'utiliser un framework.

    Mais dur dur au début ;-)

    J'arrive même pas à refaire un ptit lecteur RSS que j'avais fait avant, ou un simple envoie de mail via un formulaire. Suis un peu perdu dans différents trucs.
    Mais c'est intéressant de faire tout ça, je cherche, j'apprends, j'avance petit à petit.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  13. #13
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Si l'anglais te dérange pas, tu peux suivre les séries Laracast :
    https://laracasts.com/series/laravel-from-scratch-2018

  14. #14
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Merci, je vais regarder tout ça ;-)
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.10] Passer des variable de vue dans init()
    Par MaitrePylos dans le forum MVC
    Réponses: 4
    Dernier message: 23/07/2010, 08h53
  2. Passer des variables d'une form à l'autre
    Par flydan dans le forum Débuter
    Réponses: 3
    Dernier message: 11/10/2007, 13h19
  3. [débutant]Passer des variables d'une page à une autre
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/03/2007, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo