本文整理汇总了PHP中Phalcon\Mvc\Router::getMatchedRoute方法的典型用法代码示例。如果您正苦于以下问题:PHP Router::getMatchedRoute方法的具体用法?PHP Router::getMatchedRoute怎么用?PHP Router::getMatchedRoute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phalcon\Mvc\Router
的用法示例。
在下文中一共展示了Router::getMatchedRoute方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: match
/**
* {@inheritdoc}
*/
public function match(Request $request)
{
$this->router->handle($request->getUri()->getPath());
if (!$this->router->wasMatched()) {
// TODO Is it worth to validate, if route matches but the method is incompatible?
return RouteResult::fromRouteFailure();
}
$matchedRoute = $this->router->getMatchedRoute();
return RouteResult::fromRouteMatch($matchedRoute->getName(), $this->router->getNamespaceName(), $this->collectParams($matchedRoute));
}
示例2: testRoutes
/**
* @dataProvider routesProvider
*
* @param $arRoute
* @param $strUri
* @param $strClassName
*/
public function testRoutes($arRoute, $strUri, $strClassName)
{
$this->router->add($arRoute['route'], $arRoute['parameters'])->setName($arRoute['name']);
$this->router->handle($strUri);
$boolMatched = $this->router->wasMatched();
$this->assertTrue($boolMatched, 'failed to match ' . $strUri);
$strRouteName = $this->router->getMatchedRoute()->getName();
$this->assertEquals($arRoute['name'], $strRouteName, 'matched wrong route');
$this->setUpDispatcher();
$this->dispatcher->dispatch();
$strControllerClassName = $this->dispatcher->getControllerClass();
$this->assertEquals($strClassName, $strControllerClassName, 'wrong controller class name');
}
示例3: testEasyMatched
/**
* @dataProvider easyMatchedProvider
*/
public function testEasyMatched($strUri, $strController, $strAction, $strRouteName, $arParameters = array())
{
$this->router->handle($strUri);
$boolMatched = $this->router->wasMatched();
$this->assertTrue($boolMatched, 'route ' . $strUri . ' does not match any of ' . print_r($this->routes, true) . ' when it should');
$this->assertEquals($strRouteName, $this->router->getMatchedRoute()->getName(), 'matches wrong route');
$this->assertEquals($strController, $this->router->getControllerName(), 'wrong controller name');
$this->assertEquals($strAction, $this->router->getActionName(), 'wrong action name');
$arActualParameters = $this->router->getParams();
foreach ($arParameters as $key => $value) {
$this->assertArrayHasKey($key, $arParameters, 'key "' . $key . '" not found');
$this->assertEquals($arParameters[$key], $arActualParameters[$key], 'parameter "' . $key . '" mismatch');
}
}
示例4: testMatchEasyRoutes
/**
* @covers initialize
*
*
* @dataProvider easyMatchRoutesDataProvider
*/
public function testMatchEasyRoutes($strUri, $strModule, $strController, $strAction, $strRouteName, $arParameters)
{
$this->router->handle($strUri);
$boolMatched = $this->router->wasMatched();
$this->assertTrue($boolMatched, 'route does not match when it should');
$this->assertEquals($strRouteName, $this->router->getMatchedRoute()->getName(), 'matched wrong route: ' . $this->router->getMatchedRoute()->getPattern());
$this->assertEquals($strModule, $this->router->getModuleName(), 'wrong module name');
$this->assertEquals($strController, $this->router->getControllerName(), 'wrong controller name');
$this->assertEquals($strAction, $this->router->getActionName(), 'wrong action name');
$arActualParameters = $this->router->getParams();
foreach ($arParameters as $key => $value) {
$this->assertArrayHasKey($key, $arParameters, 'key "' . $key . '" not found');
$this->assertEquals($arParameters[$key], $arActualParameters[$key], 'parameter "' . $key . '" mismatch');
}
}
示例5: getMatchedRoute
public function getMatchedRoute()
{
return parent::getMatchedRoute();
}