How to get current controller name in view Laravel 5?

By Hardik Savani | July 27, 2016 | | 4620 Viewer | 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.

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);

}

}



We are Recommending you: