Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel : Class controller does not exist

I have created a simple controller and define a function. But when i run this it returns an error that controller does not exist.

In my web.php assign a route.

<?php
  Route::get('/', function () { return view('front.welcome'); });
  Route::get('plan','PlanController@PlanActivity')->name('plan');

On otherside in my controller my code:

<?php
 namespace App\Http\Controllers\Front;
 use App\Http\Controllers\Controller as BaseController;
 use Illuminate\Http\Request;

class PlanController extends Controller {

public function PlanActivity()
{
    dd("hello");
    //return view('admin.index');
}
}

This controller created on App\Http\Controllers\Front - on front folder

Error :

ReflectionException (-1) Class App\Http\Controllers\PlanController does not exist

like image 800
Javed Avatar asked Feb 05 '18 07:02

Javed


1 Answers

Add Front part to:

Route::get('plan', 'Front\PlanController@PlanActivity')->name('plan');

Also, change the top of the controller to:

namespace App\Http\Controllers\Front;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

And run composer du.

From the docs:

By default, the RouteServiceProvider includes your route files within a namespace group, allowing you to register controller routes without specifying the full App\Http\Controllers namespace prefix. So, you only need to specify the portion of the namespace that comes after the base App\Http\Controllers namespace.

like image 139
Alexey Mezenin Avatar answered Sep 22 '22 10:09

Alexey Mezenin