Reputation: 17393
I created a Panel
directory inside Controller
directory .
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
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
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