1. #1
    Membre averti

    Profil pro
    Inscrit en
    août 2008
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 868
    Points : 399
    Points
    399

    Par défaut Lumen, comment appeler ma route ?

    Bonjour j'ai installé lumen, et je n'arrive à obtenir une route, voici mon test:

    lorsque je lance l'url :
    j'ai bien un affiche de la version:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Lumen (5.4.6) (Laravel Components 5.4.*)
    voici la page appelle (public/index.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
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?php
     
    /*
    |--------------------------------------------------------------------------
    | Create The Application
    |--------------------------------------------------------------------------
    |
    | First we need to get an application instance. This creates an instance
    | of the application / container and bootstraps the application so it
    | is ready to receive HTTP / Console requests from the environment.
    |
    */
     
    $app = require __DIR__.'/../bootstrap/app.php';
     
    /*
    |--------------------------------------------------------------------------
    | Run The Application
    |--------------------------------------------------------------------------
    |
    | Once we have the application, we can handle the incoming request
    | through the kernel, and send the associated response back to
    | the client's browser allowing them to enjoy the creative
    | and wonderful application we have prepared for them.
    |
    */
    //$app->routes::get('/menuCours', 'MenuCours@Index');
     
    $app->run();
    dans le dossier route il y a un fichier route/web.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
     
    <?php
     
    /*
    |--------------------------------------------------------------------------
    | Application Routes
    |--------------------------------------------------------------------------
    |
    | Here is where you can register all of the routes for an application.
    | It is a breeze. Simply tell Lumen the URIs it should respond to
    | and give it the Closure to call when that URI is requested.
    |
    */
     
    $app->get('/', function () use ($app) {
     
        return $app->version();
     
     
    });
    c'est lui qui donne la version de lumen,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $app->get('/', function () use ($app) {
     
        return $app->version();
     
     
    });
    maintenant j'ai ajouté une nouvelle route:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $app->get('/menuCours', 'MenuCours@Index');
    si j'appelle l'url "/public/menuCours" j'ai "no found", même chose avec la route "/menuCours".

    Comment je dois précéder pour obtenir cette route ? j'aimerais faire une requête ajax depuis une machine client qui appelle directement l'url menuCours ?

    merci de vos réponses.

  2. #2
    Responsable Livres

    Avatar de MaitrePylos
    Homme Profil pro
    DBA & Dev PHP
    Inscrit en
    juin 2005
    Messages
    4 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA & Dev PHP
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 4 477
    Points : 10 180
    Points
    10 180

    Par défaut

    Bonjour,

    Je te conseilles la lecture du tuto sur Laravel, pour bien comprendre comment prendre en main ce fmk.

    Dans ton cas tu fais une légère erreur, ta routes devrais être.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $app->get('/menuCours', 'MenuCoursController@Index');
    et dans app/Http/Controllers/ tu crées le fichier MenuCoursController qui reprend une méthode index.

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    août 2008
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 868
    Points : 399
    Points
    399

    Par défaut

    Merci de ta réponse,
    le problème c'est que si vais dans le dossier public et que je lance la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php  -S localhost:8000
    la route fonctionne, mais si je veux depuis lancer une requête ajax depuis un autre pc client , cela ne fonctionne pas.

  4. #4
    Responsable Livres

    Avatar de MaitrePylos
    Homme Profil pro
    DBA & Dev PHP
    Inscrit en
    juin 2005
    Messages
    4 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA & Dev PHP
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 4 477
    Points : 10 180
    Points
    10 180

    Par défaut

    Et si plutôt tu fais à la racine ?


  5. #5
    Membre averti

    Profil pro
    Inscrit en
    août 2008
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 868
    Points : 399
    Points
    399

    Par défaut

    merci de ta commande

    j'ai testé:
    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
     
     
     
     
    #0 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessi                                                                   ngHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
    #1 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Logger.php(337): Monolog                                                                   \Handler\AbstractProcessingHandler->handle(Array)
    #2 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Logger.php(616): Monolog                                                                   \Logger->addRecord(400, Object(UnexpectedValueException), Array)
    #3 //var/www/html/test/mdlrest/vendor/laravel/lumen-framework/src/Exceptions/Handler.php(4                                                                   5): Monolog\Logger->error(Object(UnexpectedValueException))
    #4 //var/www/html/test/mdlrest/app/Exceptions/Handler.php(36): Laravel\Lumen\Exceptions\Ha                                                                   ndler->report(Object(UnexpectedValueException))
    #5 //var/www/html/test/mdlrest/vendor/laravel/lumen-framework/src/Concerns/RegistersExcept                                                                    in //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.p                                                                   hp on line 107
    PHP Fatal error:  Uncaught UnexpectedValueException: The stream or file " //var/www/html/test/storage/logs/lumen.log" could not be opened: failed to open stream: P                                                                   ermission denied in //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Handler                                                                   /StreamHandler.php:107
    Stack trace:
    #0 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessi                                                                   ngHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
    #1 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Logger.php(337): Monolog                                                                   \Handler\AbstractProcessingHandler->handle(Array)
    #2 //var/www/html/test/mdlrest/vendor/monolog/monolog/src/Monolog/Logger.php(616): Monolog                                                                   \Logger->addRecord(400, Object(Symfony\Component\Debug\Exception\FatalErrorExcep                                                                   tion), Array)
    #3 //var/www/html/test/mdlrest/vendor/laravel/lumen-framework/src/Exceptions/Handler.php(4                                                                   5): Monolog\Logger->error(Object(Symfony\Component\Debug\Exception\FatalErrorExc                                                                   eption))
    #4 //var/www/html/test/mdlrest/app/Exceptions/Handler.php(36): Laravel\Lumen\Exceptions\Ha
    j'essayer de trouver de la doc sur "php -S".

    J'ai pu me dépatoger en configurant apache et un proxpass

  6. #6
    Responsable Livres

    Avatar de MaitrePylos
    Homme Profil pro
    DBA & Dev PHP
    Inscrit en
    juin 2005
    Messages
    4 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA & Dev PHP
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 4 477
    Points : 10 180
    Points
    10 180

    Par défaut

    Si jamais ton erreur là est un problème de droits de ton répertoire storage

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    août 2008
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 868
    Points : 399
    Points
    399

    Par défaut

    voici les droits de storages:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    drwxr-xr-x  5 www-data www-data   4096 mai   23 07:18 storage
    j'ai tenter de faire un chmod -R 777 storage
    puis un php artisan serve
    j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Command "serve" is not defined
    je pense que Lumen ne n' a pas charger cette commande.

  8. #8
    Membre habitué
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    février 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2010
    Messages : 119
    Points : 185
    Points
    185
    Billets dans le blog
    3

    Par défaut

    Bonjour,

    Lumen ne possède pas les commandes d'Artisan, qui sont propres à Laravel.

    Tu dois le faire fonctionner avec le serveur interne de PHP "php -S localhost:8000 -t public" (à exécuter depuis la racine de ton projet, pas depuis le répertoire public) mais je pense qu'il te faudra à chaque fois le relancer si tu changes des routes ou en ajoutent.
    Le mieux serait de le faire tourner derrière un apache ou nginx pour être tranquille.

    Bien à toi,
    Pensez à mettre comme si c'est le cas !

  9. #9
    Responsable Livres

    Avatar de MaitrePylos
    Homme Profil pro
    DBA & Dev PHP
    Inscrit en
    juin 2005
    Messages
    4 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA & Dev PHP
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 4 477
    Points : 10 180
    Points
    10 180

    Par défaut

    Heu si, Lumen dispose de Artsan https://github.com/laravel/lumen

  10. #10
    Membre habitué
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    février 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2010
    Messages : 119
    Points : 185
    Points
    185
    Billets dans le blog
    3

    Par défaut

    Toutes les commandes d'Artisan utilisé dans Laravel ne font pas partie des commandes de base de Lumen, entres-autres serve, ci-dessous voici la liste des commandes de Lumen 5.4.6 (dernière version à ce jour) :

    Nom : lumen_commands.png
Affichages : 25
Taille : 143,1 Ko
    Pensez à mettre comme si c'est le cas !

Discussions similaires

  1. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15
  2. comment appeler une procédure événementielle
    Par OutOfRange dans le forum Débutant
    Réponses: 8
    Dernier message: 03/06/2005, 19h32
  3. Comment appeller un ActiveX de type Exe en JAVASCRIPT ?
    Par mandarindi dans le forum JavaScript
    Réponses: 1
    Dernier message: 23/03/2005, 09h57
  4. Comment appeler des API windows en C ?
    Par JuanLopez1966 dans le forum Windows
    Réponses: 6
    Dernier message: 22/12/2004, 10h34
  5. PRocédure stocké, comment appeler avec delphi?
    Par SkyDev dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/04/2004, 18h20

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