S.M_Emamian
S.M_Emamian

Reputation: 17393

how to make a directory in controller - laravel

I created a Panel directory inside Controller directory .

enter image description here

there is a login function inside AdminController.php

class AdminController extends Controller
{
    //


    public function login()
    {
        return 'test';
    }
}

in routes.php I wrote a route like this:

Route::get('/cp/login','Panel\AdminController@login');

but when I run below url I got some errors that there isn't exist this controller :

http://localhost:8000/cp/login

ReflectionException in Route.php line 280: Class App\Http\Controllers\Panel\AdminController does not exist

Upvotes: 0

Views: 164

Answers (2)

Roman Karki
Roman Karki

Reputation: 111

you should add the namespace to the contorller

Change you namespace to

namespace App\Http\Controllers\Panel;

Laravel will resolve controllers based on your name spacing, not on your directory structure.

Upvotes: 1

Myke Meynell
Myke Meynell

Reputation: 191

Try adding the appropriate namespace to the top of the AdminController file, you will also need to specify the namespace for the Controller class that it extends, as they are under different sub-namespaces.

You can read more about PSR-4 autoloading here http://www.php-fig.org/psr/psr-4/.

Based on the directory structure that you have there it should read

<?php

    namespace App\Http\Controllers\Panel

    use App\Http\Controllers\Controller;

    class AdminController extends Controller {

        //..

    }

Upvotes: 1

Related Questions