Return parent после редиректа в Kohana. Зачем? Доброго времени суток. Не совсем понимаю, кому мы, что возвращаем и зачем? Вот класс, который не пускает не залогиненых пользователей на странички:set('auth_redirect', $_SERVER['REQUEST_URI']); $auth = Auth::instance(); if (!$auth->logged_in()) { Controller::redirect('auth'); } return parent::before(); } } Я понимаю, что если не залогинен, нас редиректит на страницу авторизации, но зачем мы что-то еще возаращем я не понимаю... На всяких случай класс авторизации:logged_in()) { Controller::redirect(''); } else { if (isset($_POST['btnsubmit'])) { $login = Arr::get($_POST, 'login', ''); $password = Arr::get($_POST, 'password', ''); if ($auth->login($login, $password)) { $session = session::instance(); $auth_redirect = $session->get('auth_redirect',''); $session->delete('auth_redirect'); Controller::redirect($auth_redirect); } else { $data['error'] = true; } } } $this->template->content = view::factory('authview',$data); } public function action_hpass() { $auth = Auth::instance(); $this->template->content = $auth->hash_password('admin'); }
public function action_logout() { $auth = Auth::instance(); $auth->logout(); Controller::redirect('auth'); } }
В данном случае, в методе before контроллера SecurityController, после установки значения в сессию и редиректа на страницу авторизации, вызывается метод parent::before(). Этот метод обычно выполняет какие-то общие действия перед выполнением действия контроллера, такие как установка шаблона или проверка разрешений доступа.
Поэтому в данном случае вызов return parent::before(); гарантирует, что все необходимые действия перед выполнением основного действия контроллера (в данном случае, редиректа на страницу авторизации) будут выполнены, что может быть важно для правильной работы контроллера.
В данном случае, в методе before контроллера SecurityController, после установки значения в сессию и редиректа на страницу авторизации, вызывается метод parent::before(). Этот метод обычно выполняет какие-то общие действия перед выполнением действия контроллера, такие как установка шаблона или проверка разрешений доступа.
Поэтому в данном случае вызов return parent::before(); гарантирует, что все необходимые действия перед выполнением основного действия контроллера (в данном случае, редиректа на страницу авторизации) будут выполнены, что может быть важно для правильной работы контроллера.