2013-07-17 8 views
11

Ho iniziato con laravel pochi giorni fa e sto affrontando questo problema:regolatore laravel costruire

Il NO viene mai restituito!

Questo è Controller, hai qualche idea del perché?

Class TestController extends BaseController { 

    public function __construct() 
    { 
     if (!Auth::check()) return 'NO'; 
    } 

    public function test($id) 
    { 
     return $id; 
    } 
} 
+0

Controllare 'Auth :: spunta()' valore – swapnesh

+0

Sembra che il __construct non viene mai eseguito da quando faccio il controllo sulla funzione di test (id) funziona. –

+0

Cosa vuoi raggiungere? Perché vuoi restituire il valore "NO" dal costruttore del controller (mi sembra un approccio sbagliato)? – Andreyco

risposta

16
<?php 

class BaseController extends Controller { 

    public function __construct() 
    { 
     // Closure as callback 
     $this->beforeFilter(function(){ 
      if(!Auth::check()) { 
       return 'no'; 
      } 
     }); 

     // or register filter name 
     // $this->beforeFilter('auth'); 
     // 
     // and place this to app/filters.php 
     // Route::filter('auth', function() 
     // { 
     // if(!Auth::check()) { 
     //  return 'no'; 
     // } 
     // }); 
    } 

    public function index() 
    { 
     return "I'm at index"; 
    } 
} 
+0

Grazie! funziona come un fascino –

+1

Sembra che Laravel abbia appena trasformato 'costruttori' in' filtri': D –

+1

@RobinHood E ora sono chiamati 'middleware'. – totymedli