Я сейчас нахожусь в процессе написания собственного routeHandler в Kohana 3.0.В основном, большая часть моего сайта связана с определенными элементами, поэтому вместо загрузки контроллеров вместо действий появляются идентификаторы, а в URL я бы предпочел просто имя.Что, конечно, означает, что мне нужно манипулировать маршрутами.
Мой загрузчик содержит следующее:
Route::set('routeHandler', '(<url>)',
array(
'url' => '[a-zA-Z0-9_/-]+',
))
->defaults(array(
'controller' => 'routeHandler',
'action' => 'index',
));
Это перенаправляет меня на мой контроллер routeHandler.
Внутри контроллера язатем установите еще несколько маршрутов и в конечном итоге сделайте новый запрос.Однако, когда дело доходит до передачи URI, оно кажется пустым.
$this->request->param('uri'); // Comes back empty?
Когда я распечатываю запрос, я получаю следующую информацию:
Request Object
(
[route] => Route Object
(
[_uri:protected] => ()
[_regex:protected] => Array
(
[url] => [a-zA-Z0-9_/-]+
)
[_defaults:protected] => Array
(
[controller] => routeHandler
[action] => index
)
[_route_regex:protected] => #^(?:(?P[a-zA-Z0-9_/-]+))?$#uD
)
[status] => 200
[response] =>
[headers] => Array
(
[Content-Type] => text/html; charset=utf-8
)
[directory] =>
[controller] => routeHandler
[action] => index
[uri] =>
[_params:protected] => Array
(
)
)
Есть ли что-то, что у меня естьпропустил мой загрузчик?
Я также заметил потерю определенных переменных, установленных в загрузчике, таких как base_url
.
Любая помощь будет принята с благодарностью.