Почему вы создаете отдельные контроллеры для действий учетной записи?Создайте один контроллер (Controller_Account
или что-то еще) с нужными вам действиями:
class Controller_Account extends Controller_Template {
public function action_signin() {...}
public function action_signout() {...}
public function action_signup() {...}
}
Как видите, имена действий без тире.Вы не можете использовать их в именах методов.Но вот для этого есть хак:
public function before()
{
parent::before(); // dont forget this call!
// remove dashes from current method name
$this->request->action(str_replace('-', '', $this->request->action()));
}
И маршрут:
Route::set(
'a11n',
'<action>',
array('action' => array('sign-in|sign-up|sign-out'))
)
->defaults(array('controller' => 'account'));
Конечно, вы можете использовать как имена входа и входа, просто добавьте не пунктирные именаRoute regex param:
Route::set(
'a11n',
'<action>',
array('action' => array('sign-in|sign-up|sign-out|signin|signup|signout'))
)
->defaults(array('controller' => 'account'));