Например, мои URL и их действия будут выглядеть так:
1) a: для пользователя, название которого company_id принадлежит company = Pepsi
/pepsi/ - controller - users, action - dashboard (their Auth->user 'company_id' will be used and their user->id)
/pepsi/companies/view - controller - companies, action - view
/pepsi/users/ - controller - users, action - index (trailing slash preferably optional)
/pepsi/users/dashboard - controller - users, action - dashboard
1) b: для пользователя, которому company_id принадлежит company = Coke
/coke/ - controller - users, action - dashboard
/coke/companies/view - controller - companies, action - view
/coke/users/ - controller - users, action - index (trailing slash preferably optional)
/coke/users/dashboard - controller - users, action - dashboard
2) Для администратора, который использует префикс маршрутизации adminperson
/adminperson/users - controller - users, action - index
/adminperson/users/view/3 - controller - users, action - view , id = 3
/adminperson/companies/delete/6 - controller - companies, action - delete Id = 6
3) важно Кроме того, когда пользователь не вошел в систему, также существуют открытые страницы.
/ содержимое / вид / 3 - контроллер - содержимое, действие - вид И id = 3
Ниже приведено лучшее из того, что у меня есть, но оно всегда требует, чтобы индекс действия был явно записан в URL - но на самом деле я думаю, что это не так уж и плохо, так как помощник по Html-> link должен его создать. Я счастлив построить все свои ссылки с помощником, как я обычно это делаю.
Лучшая попытка:
Router::connect('/:companyslug/:controller/:action', array('controller' => 'companies', 'action'=>'index', 'companyslug'=>'test'));