Laravel 5

Comment déclarer mo controleur dans mon provider

  • Avatar de Tigunn
    Membre depuis :
    07/03/2019
    Messages :
    1

    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

    {
    "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

    <?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

    <?php

    namespace Monvendor\Users;

    use Illuminate\Support\ServiceProvider;

    class UsersServiceProvider extends ServiceProvider
    {
    /
    Bootstrap the application services.

    @return void
    /
    public function boot()
    {
    // Routes du package
    include DIR.'....\routes\web.php';

    }

    /

    Register the application services.

    @return void
    /
    public function register()
    {
    // register our controller
    $this->app->make('Monvendor\Users\UsersController');
    }
    }

    laravel-5\packages\monvendor\users\src\routes\web.php

    <?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 :

    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?

Vous ne pouvez pas répondre à ce sujet.