public function _testRouterHttp() { $tests = array(array('method' => null, 'uri' => '/documentation/index/hello', 'controller' => 'documentation', 'action' => 'index', 'params' => array('hello')), array('method' => 'POST', 'uri' => '/docs/index', 'controller' => 'documentation3', 'action' => 'index', 'params' => array()), array('method' => 'GET', 'uri' => '/docs/index', 'controller' => 'documentation4', 'action' => 'index', 'params' => array()), array('method' => 'PUT', 'uri' => '/docs/index', 'controller' => 'documentation5', 'action' => 'index', 'params' => array()), array('method' => 'DELETE', 'uri' => '/docs/index', 'controller' => 'documentation6', 'action' => 'index', 'params' => array()), array('method' => 'OPTIONS', 'uri' => '/docs/index', 'controller' => 'documentation7', 'action' => 'index', 'params' => array()), array('method' => 'HEAD', 'uri' => '/docs/index', 'controller' => 'documentation8', 'action' => 'index', 'params' => array())); $di = new Phalcon\DI(); $di->set('request', function () { return new Phalcon\Http\Request(); }); $router = new Phalcon\Mvc\Router(); $router->setDI($di); $router->add('/docs/index', array('controller' => 'documentation2', 'action' => 'index')); $router->addPost('/docs/index', array('controller' => 'documentation3', 'action' => 'index')); $router->addGet('/docs/index', array('controller' => 'documentation4', 'action' => 'index')); $router->addPut('/docs/index', array('controller' => 'documentation5', 'action' => 'index')); $router->addDelete('/docs/index', array('controller' => 'documentation6', 'action' => 'index')); $router->addOptions('/docs/index', array('controller' => 'documentation7', 'action' => 'index')); $router->addHead('/docs/index', array('controller' => 'documentation8', 'action' => 'index')); foreach ($tests as $n => $test) { $_SERVER['REQUEST_METHOD'] = $test['method']; $this->_runTest($router, $test); } }
}); /** * Start the session the first time some component request the session service */ $di->setShared('session', function () { $session = new SessionAdapter(); $session->start(); return $session; }); /* * здесь надо добавить в контейнер свои экземпляры классов стандартных компонентов phalcon'а * или свои какие-то экземпляры класса, т.к. это просто реализация контейнера */ $di->setShared("view", function () { $view = new View(); $view->disable(); return $view; }); $di->setShared("router", function () { $router = new \Phalcon\Mvc\Router(false); $router->removeExtraSlashes(true); $router->setDefaultController('robots'); $router->addGet('/v1/api/robots', ['controller' => 'robots', 'action' => 'list']); $router->addGet('/v1/api/robots/{id:[0-9]+}', ['controller' => 'robots', 'action' => 'findOneById']); $router->addGet('/v1/api/robots/search/{name}', ['controller' => 'robots', 'action' => 'search']); $router->addPost('/v1/api/robots', ['controller' => 'robots', 'action' => 'create']); $router->addPut('/v1/api/robots/{id}', ['controller' => 'robots', 'action' => 'update']); $router->addDelete('/v1/api/robots/{id}', ['controller' => 'robots', 'action' => 'delete']); return $router; }); $di->set('config', $config);
* Start the session the first time some component request the session service */ $di->setShared('session', function () { $session = new SessionAdapter(); $session->start(); return $session; }); $di->setShared("view", function () { $view = new View(); $view->disable(); return $view; }); $di->setShared("router", function () { $router = new \Phalcon\Mvc\Router(false); $router->removeExtraSlashes(true); $router->setDefaultController('products'); $router->addGet('/v1/api/products', ['controller' => 'products', 'action' => 'list']); $router->addGet('/v1/api/products/{id:[0-9]+}', ['controller' => 'products', 'action' => 'findOneById']); $router->addGet('/v1/api/products/search/{name}', ['controller' => 'products', 'action' => 'search']); $router->addPost('/v1/api/products', ['controller' => 'products', 'action' => 'create']); $router->addPut('/v1/api/products/{id}', ['controller' => 'products', 'action' => 'update']); $router->addDelete('/v1/api/products/{id}', ['controller' => 'products', 'action' => 'delete']); $router->addGet('/v1/api/categories', ['controller' => 'categories', 'action' => 'list']); $router->addGet('/v1/api/categories/{id:[0-9]+}', ['controller' => 'categories', 'action' => 'findOneById']); $router->addGet('/v1/api/categories/search/{name}', ['controller' => 'categories', 'action' => 'search']); $router->addPost('/v1/api/categories', ['controller' => 'categories', 'action' => 'create']); $router->addPut('/v1/api/categories/{id}', ['controller' => 'categories', 'action' => 'update']); $router->addDelete('/v1/api/categories/{id}', ['controller' => 'categories', 'action' => 'delete']); return $router; }); $di->set('config', $config);