У меня есть контроллер с несколькими методами, и мне нужно добавить определенную проверку авторизации при запуске каждого метода. Поэтому я решил поставить эту проверку в конструкторе как,
class AdminController extends BaseController {
public function __construct() {
$this->isAuthorized();
}
protected $layout = "layouts.main";
private function isAuthorized() {
if (!Session::get('userId')) {
echo "inside check"; // checking for debug purpose
return Redirect::to('login');
}
}
/**
* Admin dashboard view after authentication.
*/
public function getDashboard() {
$this->layout->content = View::make('admin.dashboard');
}
}
Он не работает, он просто печатает сообщение внутри сеанса проверки и загружает страницу панели мониторинга, а не перенаправляет обратно на страницу входа.
Я тоже пробовал что-то вроде этого,
public function getDashboard() {
$this->isAuthorized();
$this->layout->content = View::make('admin.dashboard');
}
Когда я пытаюсь вызвать этот метод с помощью этого странного оператора return, он работает
public function getDashboard() {
return $this->isAuthorized();
$this->layout->content = View::make('admin.dashboard');
}
Я получаю эту идею от здесь. Как это сделать, используя метод конструктора. Любая помощь приветствуется.