Método auth en el constructor de Laravel

Disponer del método auth en todos los métodos de un controlador

En versiones anteriores de Laravel era posible asignar el método auth desde el método constructor en un controlador. Desde la versión 5.3 Laravel impide utilizarlo desde el constructor pero no desde el resto de métodos, esto implica repetir en cada método del controlador la llamada al método auth(). Para evitar esto es posible asignarlo desde el constructor mediante un middleware, incluyendo un callback y desde éste, Laravel si que permite realizar la llamada al método auth().

Código de ejemplo de llamada al método auth desde el constructor de un controlador en Laravel 5.5

  1. use Illuminate\Http\Request;
  2. use Illuminate\Support\Facades\Auth;
  3. class NuevoController extends Controller
  4. {
  5. protected $user;
  6. public function __construct(){
  7. $this->middleware(function($request,$next) {
  8. $this->user=auth()->user();
  9. return $next($request);
  10. });
  11. }

Esto solo es posible hasta la versión 5.7 o 5.8, ya que Laravel prescinde de auth en las siguientes versiones. Más info aquí.

Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso