How to Get Current Controller Name in View Laravel?

By Hardik Savani April 16, 2024 Category : Laravel

If you require to get current controller name in your view file or in your middleware or your serviceprovider etc. you can get your controller details from current route like UserController, HomeController ect. you can also get full path of controller file.

you can simple get current controller name in laravel 6, laravel 7, laravel 8, laravel 9, laravel 10 and laravel 11 project.

Laravel getAction() through we can get whole array of current route details, in this example i get current controller in my auth middleware, if you require on your view file or other place then you can simply get.

So, let's see example how you can get controller name in auth middleware.

Example: app/Http/Middleware/Authenticate.php

namespace App\Http\Middleware;


use Closure;

use Illuminate\Support\Facades\Auth;


class Authenticate

{

/**

* Handle an incoming request.

*

* @param \Illuminate\Http\Request $request

* @param \Closure $next

* @param string|null $guard

* @return mixed

*/

public function handle($request, Closure $next, $guard = null)

{

$routeArray = app('request')->route()->getAction();

$controllerAction = class_basename($routeArray['controller']);

list($controller, $action) = explode('@', $controllerAction);


print_r($controller);

exit;


if (Auth::guard($guard)->guest()) {

if ($request->ajax() || $request->wantsJson()) {

return response('Unauthorized.', 401);

} else {

return redirect()->guest('login');

}

}


return $next($request);

}

}

Tags :
Shares