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 :

Création package - Comment déclarer mon controleur dans mon provider?


Sujet :

Laravel PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut Création package - Comment déclarer mon controleur dans mon provider?
    Bonjour,
    J'ai créé un package Users tout simpleetplacé dans \packages (à la racine de laravel), dont voici l'organisation casse respectée):
    laravel-5\packages\monvendor\users\src\composer.json
    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
    {
        "name": "monvendor/users",
        "description": "test",
        "authors": [
            {
                "name": "moi",
                "email": "moi@home.com"
            }
        ],
        "minimum-stability": "dev",
        "require": {},
        "autoload": {
            "psr-4": {
                   "Monvendor\Users\": "src/"
            }
        }
    }
    laravel-5\packages\monvendor\users\src\app\Http\Controllers\UsersController.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
     
    <?php
    namespace Monvendor\Users;
     
    use Illuminate\Http\Request;
     
    use App\Http\Requests;
    use App\Http\Controllers\Controller;
     
     
    class UsersController extends Controller
    {
        public function add($a, $b){
            echo $a + $b;
        }
    }
    laravel-5\packages\monvendor\users\src\app\Providers\UsersServiceProvider.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
     
    <?php
    namespace Monvendor\Users;
     
    use Illuminate\Support\ServiceProvider;
     
     
    class UsersServiceProvider extends ServiceProvider
    {
        public function boot()
        {
            // Routes du package
            include DIR.'....\routes\web.php';
        }
     
        public function register()
        {
            // register our controller
            $this->app->make('Monvendor\Users\UsersController');
        }
    }
    laravel-5\packages\monvendor\users\src\routes\web.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    // test avant ajout du controleur => fonctionnait !
    Route::get('users', function(){
        echo 'Hello from the monvendor\user package!';
    });
     
    // route pour tester le controleur => fonctionne pas (voir erreur plus bas)
    Route::get('add/{a}/{b}', 'UsersController@add');
    J'ai suivi les deux tutos :

    https://devdojo.com/tutorials/how-to...aravel-package
    https://laravel.sillo.org/creer-un-package/

    Au moment du test de mon controleur : http://localhost/laravel-5/public/add/5/2
    j'ai le message d'erreur :

    ReflectionException (-1)
    Class Monvendor\Users\UsersController does not exist
    Le problème semble venir de la méthode register de mon provider sur :
    $this->app->make('Hspro\Users\UsersController');
    mais je ne comprends pas pourquoi. Des idées svp?

  2. #2
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Votre Composer.json ne corerespond pas à l'exemple de bestmomo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "psr-4": {
        "App\\": "app/",
        "Bestmomo\\Scafold\\": "packages/bestmomo/Scafold/src/"
    }

Discussions similaires

  1. Comment déclarer mon Intent ?
    Par setni dans le forum Android
    Réponses: 7
    Dernier message: 04/02/2014, 04h24
  2. Comment déclarer un pointeur dans une Table
    Par walid_kerkoub dans le forum Delphi
    Réponses: 4
    Dernier message: 09/07/2007, 13h49
  3. Réponses: 2
    Dernier message: 23/01/2007, 14h45
  4. Réponses: 4
    Dernier message: 20/04/2006, 02h56
  5. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27

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