private function setUpDispatcher()
 {
     $this->dispatcher->setControllerName($this->router->getControllerName());
     $this->dispatcher->setActionName($this->router->getActionName());
     $this->dispatcher->setParams($this->router->getParams());
     $oDispatcherEventManager = new Manager();
     $oDispatcherEventManager->attach('dispatch:beforeDispatch', function (Event $oEvent, Dispatcher $oDispatcher, $data) {
         return false;
     });
     $this->dispatcher->setEventsManager($oDispatcherEventManager);
 }
 /**
  * @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');
     }
 }
 /**
  * @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');
     }
 }
Example #4
0
 public function routing(Router $router)
 {
     $this->setModuleName($router->getModuleName());
     $this->setNamespaceName($router->getNamespaceName());
     $this->setControllerName($router->getControllerName());
     $this->setActionName($router->getActionName());
     $this->setParams($router->getParams());
 }
 public function testAnnotations()
 {
     $di = new Di();
     $di['request'] = new \Phalcon\Http\Request();
     $router = new Router(false);
     $router->setDI($di);
     $loader = new ArrayRouteLoader($router);
     $loader->load(include __DIR__ . '/Fixtures/routes.php');
     $router->handle();
     $this->assertCount(3, $router->getRoutes());
     $routes = [['uri' => '/test4', 'method' => 'GET', 'controller' => 'test4', 'action' => 'test4'], ['uri' => '/test4', 'method' => 'POST', 'controller' => 'test4', 'action' => 'test4'], ['uri' => '/test5', 'method' => 'POST', 'controller' => 'test5', 'action' => 'test5'], ['uri' => '/test6', 'method' => 'GET', 'controller' => 'test6', 'action' => 'test6']];
     foreach ($routes as $route) {
         $_SERVER['REQUEST_METHOD'] = $route['method'];
         $router->handle($route['uri']);
         $this->assertEquals($router->getControllerName(), $route['controller']);
         $this->assertEquals($router->getActionName(), $route['action']);
         $this->assertEquals($router->isExactControllerName(), true);
     }
 }
<?php

/**
 * Created by PhpStorm.
 * User: rcmonitor
 * Date: 07.07.15
 * Time: 15:46
 */
use Phalcon\Di;
use Phalcon\Events\Manager;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Mvc\Router;
use Phalcon\Version;
$di = new Di\FactoryDefault();
$oRouter = new Router(false);
$oRouter->setDI($di);
$oRouter->add('/:controller', array('controller' => 1, 'action' => 'index'));
$oEventManager = new Manager();
$oEventManager->attach('dispatch:beforeDispatch', function () {
    return false;
});
$oDispatcher = new Dispatcher();
$oDispatcher->setDI($di);
$oDispatcher->setEventsManager($oEventManager);
$oRouter->handle('/test');
$oDispatcher->setControllerName($oRouter->getControllerName());
$oDispatcher->setActionName($oRouter->getActionName());
$oDispatcher->dispatch();
echo $oDispatcher->getControllerClass() . PHP_EOL;
echo Version::get() . PHP_EOL;
Example #7
0
use Phalcon\Mvc\Router;
use Phalcon\Mvc\Url as UrlResolver;
use Phalcon\DI\FactoryDefault;
use Phalcon\Session\Adapter\Files as SessionAdapter;
/**
 * The FactoryDefault Dependency Injector automatically register the right services providing a full stack framework
 */
$di = new FactoryDefault();
/**
 * Registering a router
 */
$di['router'] = function () use($di) {
    $router = new Router();
    $router->handle();
    $gateWay = new \Apiserver\Utils\GateWay($di);
    if (!$gateWay->check($router->getControllerName(), $router->getActionName())) {
        echo json_encode($gateWay->errMsg());
        exit;
    }
    $router->setDefaultModule('api_' . $gateWay->ver);
    return $router;
};
/**
 * The URL component is used to generate all kind of urls in the application
 */
$di['url'] = function () {
    $url = new UrlResolver();
    $url->setBaseUri('/');
    return $url;
};
$di['view'] = function () {
Example #8
0
 public function getControllerName()
 {
     return parent::getControllerName();
 }