/** * Тест обработки маршрутов на регулярках. */ public function testRegexRoute() { $links = Mvc_Links::create(); /* Настраиваем менеджер ссылок */ $links->setBaseUrl($this->_domain . $this->_path)->addRoute(array('alias' => 'test.route', 'type' => Mvc_Router::ROUTE_REGEX, 'pattern' => array('regex' => '/test-route/([0-9]+)/([a-z]+)', 'params' => array('num', 'alpha')))); /* Получаем ссылку по полному списку параметров */ $link = $links->get('test.route', array('num' => 7, 'alpha' => 'abc')); /* Проверяем её */ $this->assertEquals($this->_path . '/test-route/7/abc/', $link); /* Получаем ссылку по списку с опущенным последним параметром */ $link = $links->get('test.route', array('num' => 7)); /* И проверяем её */ $this->assertEquals($this->_path . '/test-route/7/', $link); }
/** * Инициализация менеджера ссылок. * * @return Mvc_Links */ protected function get_links() { $links = Mvc_Links::create(); $links->setBaseUrl($this->_config['base_url'])->addRoutes($this->_config['routes']); return $links; }