Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
$router->add('/help/about', array('controller' => 'help', 'action' => 'about'));
$router->add('/help/moderators', array('controller' => 'help', 'action' => 'moderators'));
$router->add('/help/voting', array('controller' => 'help', 'action' => 'voting'));
$router->add('/help/markdown', array('controller' => 'help', 'action' => 'markdown'));
$router->add('/help/karma', array('controller' => 'help', 'action' => 'karma'));
$router->add('/help/badges', array('controller' => 'help', 'action' => 'badges'));
$router->add('/help/create-post', array('controller' => 'help', 'action' => 'create'));
$router->add('/help', array('controller' => 'help', 'action' => 'index'));
$router->add('/index.html', array('controller' => 'discussions', 'action' => 'index'));
$router->add('/discussions', array('controller' => 'discussions', 'action' => 'index'));
$router->add('/hook/mail-bounce', array('controller' => 'hooks', 'action' => 'mailBounce'));
$router->add('/hook/mail-reply', array('controller' => 'hooks', 'action' => 'mailReply'));
$router->add('/search', array('controller' => 'discussions', 'action' => 'search'));
$router->add('/settings', array('controller' => 'discussions', 'action' => 'settings'));
$router->add('/reload-categories', array('controller' => 'discussions', 'action' => 'reloadCategories'));
$router->addPost('/preview', array('controller' => 'utils', 'action' => 'preview'));
$router->add('/reply/accept/{id:[0-9]+}', array('controller' => 'replies', 'action' => 'accept'));
$router->add('/reply/vote-up/{id:[0-9]+}', array('controller' => 'replies', 'action' => 'voteUp'));
$router->add('/reply/vote-down/{id:[0-9]+}', array('controller' => 'replies', 'action' => 'voteDown'));
$router->add('/reply/history/{id:[0-9]+}', array('controller' => 'replies', 'action' => 'history'));
$router->add('/discussion/history/{id:[0-9]+}', array('controller' => 'discussions', 'action' => 'history'));
$router->add('/discussion/vote-up/{id:[0-9]+}', array('controller' => 'discussions', 'action' => 'voteUp'));
$router->add('/discussion/vote-down/{id:[0-9]+}', array('controller' => 'discussions', 'action' => 'voteDown'));
$router->add('/login/oauth/authorize', array('controller' => 'session', 'action' => 'authorize'));
$router->add('/login/oauth/access_token/', array('controller' => 'session', 'action' => 'accessToken'));
$router->add('/login/oauth/access_token', array('controller' => 'session', 'action' => 'accessToken'));
$router->add('/logout', array('controller' => 'session', 'action' => 'logout'));
$router->add('/find-related', array('controller' => 'discussions', 'action' => 'findRelated'));
$router->add('/show-related', array('controller' => 'discussions', 'action' => 'showRelated'));
$router->add('/notifications', array('controller' => 'discussions', 'action' => 'notifications'));
$router->add('/activity', array('controller' => 'discussions', 'action' => 'activity'));
Beispiel #3
0
<?php

$router = new Phalcon\Mvc\Router();
//Remove trailing slashes automatically
$router->removeExtraSlashes(true);
//SECURE ROUTES
$router->add('/login', 'Secure::login');
$router->addGet('/sign-up', 'Secure::signUp');
$router->addGet('/remind-password', 'Secure::remindPassword');
$router->addGet('/logout', 'Secure::logout');
$router->addPost('/register', 'Secure::register');
$router->add('/plates/{id}', 'Requests::plates');
//testing porpuses
$router->addGet('/test', 'Index::test');
//Requests section
$router->addGet('/requests', 'Requests::index');
$router->addGet('/requests/history', 'Requests::history');
$router->addPost('/requests/create', 'Requests::create');
$router->addPost('/requests/view/{id}', 'Requests::view');
$router->addGet('/requests/status/{id}/{id_status}', 'Requests::changeStatus');
//Cart
$router->addPost('/add-cart-item', 'Cart::add');
$router->addGet('/add-cart-item', 'Index::home');
$router->addGet('/cart', 'Cart::view');
$router->add('/cart-delete/{id}', 'Cart::delete');
$router->add('/delete-cart', 'Cart::deleteCart');
//Inbox section
$router->addGet('/inbox', 'Inbox::index');
//Reports section
$router->addGet('/reports', 'Reports::index');
$router->addGet('/reports/history', 'Reports::history');
Beispiel #4
0
/**
 * Start the session the first time some component request the session service
 */
$di->set('session', function () {
    $session = new SessionAdapter();
    $session->start();
    return $session;
});
/**
 * Register configurations
 */
$di->set('config', function () use($config) {
    return $config;
});
/**
 * Register router
 */
$di->set('router', function () {
    $router = new \Phalcon\Mvc\Router();
    $router->removeExtraSlashes(true);
    $router->setDefaults(['controller' => 'index', 'action' => 'index']);
    /*$router->notFound([
          'controller'    => 'errors',
          'action'        => 'pageNotFound'
      ]);*/
    $router->addGet('/project/{profile:([a-zA-Z0-9-(.)]+)}', ['action' => 'profile', 'project' => 1]);
    $router->addPost('/filter', ['action' => 'filter'])->beforeMatch(function ($uri, $route) {
        return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
    });
    return $router;
});
Beispiel #5
0
 * Routes
 *
 * This file contains the route definitons for Kolibri.
 * If you extend the functionality of Kolibri and add methods
 * which you want to call with HTTP, you need to add them to
 * this file.
 *
 * @package   Kolibri\Config
 * @author    Philipp Gérard <*****@*****.**>
 * @since     May 2013
 * @copyright Philipp Gérard <*****@*****.**>
 * @license   MIT License http://opensource.org/licenses/MIT
 */
$router = new \Phalcon\Mvc\Router();
$router->removeExtraSlashes(true);
$router->setDefaultController('kolibri');
$router->setDefaultAction('index');
$router->add("/{title:([a-zA-Z0-9_-]+)}", array('controller' => 'kolibri', 'action' => 'page'));
$router->add("/page/{title:([a-zA-Z0-9_-]+)}", array('controller' => 'kolibri', 'action' => 'page'));
$router->add("/edit/:int", array('controller' => 'kolibri', 'action' => 'edit', 'id' => 1));
$router->addPost("/update", array('controller' => 'kolibri', 'action' => 'update'));
$router->add("/create", array('controller' => 'kolibri', 'action' => 'create'));
$router->addPost("/save", array('controller' => 'kolibri', 'action' => 'save'));
$router->add("/list", array('controller' => 'kolibri', 'action' => 'list'));
$router->add("/delete/:int", array('controller' => 'kolibri', 'action' => 'delete', 'id' => 1));
$router->add("/version/:int", array('controller' => 'kolibri', 'action' => 'version', 'id' => 1));
$router->add("/version/:int/:int", array('controller' => 'kolibri', 'action' => 'diff', 'id' => 1, 'revision' => 2));
$router->add("/changes", array('controller' => 'kolibri', 'action' => 'changes'));
$router->add("/export/:int", array('controller' => 'kolibri', 'action' => 'export', 'id' => 1));
$router->add("/reimport/:int/:int", array('controller' => 'kolibri', 'action' => 'reimport', 'id' => 1, 'revision' => 2));
return $router;
<?php

$router = new \Phalcon\Mvc\Router();
// list users
$router->addGet("/api/user", "Api::listUser");
// create user
$router->addPost("/api/user", "Api::createUser");
// get user by id
$router->addGet("/api/user/{id}", "Api::getUser");
// edit user by id
$router->add("/api/user/{id}", "Api::editUser")->via(array("POST", "PUT"));
// delete user by id
$router->addDelete("/api/user/{id}", "Api::deleteUser");
return $router;
Beispiel #7
0
$router->add('/help/about', ['controller' => 'help', 'action' => 'about']);
$router->add('/help/moderators', ['controller' => 'help', 'action' => 'moderators']);
$router->add('/help/voting', ['controller' => 'help', 'action' => 'voting']);
$router->add('/help/markdown', ['controller' => 'help', 'action' => 'markdown']);
$router->add('/help/karma', ['controller' => 'help', 'action' => 'karma']);
$router->add('/help/badges', ['controller' => 'help', 'action' => 'badges']);
$router->add('/help/create-post', ['controller' => 'help', 'action' => 'create']);
$router->add('/help', ['controller' => 'help', 'action' => 'index']);
$router->add('/index.html', ['controller' => 'categories', 'action' => 'index']);
$router->add('/discussions', ['controller' => 'discussions', 'action' => 'index']);
$router->add('/hook/mail-bounce', ['controller' => 'hooks', 'action' => 'mailBounce']);
$router->add('/hook/mail-reply', ['controller' => 'hooks', 'action' => 'mailReply']);
$router->add('/search', ['controller' => 'discussions', 'action' => 'search']);
$router->add('/settings', ['controller' => 'discussions', 'action' => 'settings']);
$router->add('/reload-categories', ['controller' => 'discussions', 'action' => 'reloadCategories']);
$router->addPost('/preview', ['controller' => 'utils', 'action' => 'preview']);
$router->add('/reply/accept/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'accept']);
$router->add('/reply/vote-up/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'voteUp']);
$router->add('/reply/vote-down/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'voteDown']);
$router->add('/reply/history/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'history']);
$router->add('/discussion/history/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'history']);
$router->add('/discussion/vote-up/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'voteUp']);
$router->add('/discussion/vote-down/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'voteDown']);
$router->add('/login/oauth/authorize', ['controller' => 'session', 'action' => 'authorize']);
$router->add('/login/oauth/access_token/', ['controller' => 'session', 'action' => 'accessToken']);
$router->add('/login/oauth/access_token', ['controller' => 'session', 'action' => 'accessToken']);
$router->add('/logout', ['controller' => 'session', 'action' => 'logout']);
$router->add('/find-related', ['controller' => 'discussions', 'action' => 'findRelated']);
$router->add('/show-related', ['controller' => 'discussions', 'action' => 'showRelated']);
$router->add('/notifications', ['controller' => 'discussions', 'action' => 'notifications']);
$router->add('/activity', ['controller' => 'discussions', 'action' => 'activity']);
Beispiel #8
0
<?php

/**
 *  Router file
 */
$router = new \Phalcon\Mvc\Router(false);
/**
 *  /
 */
$router->add('/', ['controller' => 'Index', 'action' => 'index']);
/**
 *  /auth/signup
 */
$router->addPost('/auth/signup', ['controller' => 'auth', 'action' => 'signup']);
/**
 *  /auth/login
 */
$router->addPost('/auth/login', ['controller' => 'auth', 'action' => 'login']);
$router->add('/entry/:int', ['controller' => 'entry', 'action' => 'article', 'id' => 1]);
$router->add('/tag/:params', ['controller' => 'entry', 'action' => 'tagArticle', 'tag' => 1]);
$router->add('/category/:params', ['controller' => 'entry', 'action' => 'categoryArticle', 'category' => 1]);
/**
 *  /entry/all
 */
$router->add('/entry/all', ['controller' => 'entry', 'action' => 'all']);
/**
 *  /entry/add
 */
$router->addPost('/entry/add', ['controller' => 'entry', 'action' => 'add']);
/**
 *  /entry/update/:int
Beispiel #9
0
$day   = $this->dispatcher->getParam("day");
//*/
$router->add("/docs/{chapter}/{name}.{type:[a-z]+}", array("controller" => "documentation", "action" => "show"));
$router->add("/posts/{year:[0-9]+}/{title:[a-z\\-]+}", "Posts::show");
$router->add("/([a-z]{2})/:controller", array("controller" => 2, "action" => "index", "language" => 1));
$router->add("/{language:[a-z]{2}}/:controller", array("controller" => 2, "action" => "index"));
$router->add("/manual/([a-z]{2})/([a-z\\.]+)\\.html", array("controller" => "manual", "action" => "show", "language" => 1, "file" => 2));
$router->add('/news/{country:[a-z]{2}}/([a-z+])/([a-z\\-+])', array('section' => 2, 'article' => 3));
$router->add("/admin/:controller/:action/:int", array("controller" => 1, "action" => 2, "id" => 3));
$router->add('/api/(v1|v2)/{method:[a-z]+}/{param:[a-z]+}\\.(json|xml)', array('controller' => 'api', 'version' => 1, 'format' => 4));
$router->add('/:module/:controller/:action/:params', array('module' => 1, 'controller' => 2, 'action' => 3, 'params' => 4));
// 限制 HTTP 请求传入方式(HTTP Method Restrictions)
// This route only will be matched if the HTTP method is GET
$router->addGet("/products/edit/{id}", "Products::edit");
// This route only will be matched if the HTTP method is POST
$router->addPost("/products/save", "Products::save");
// This route will be matched if the HTTP method is POST or PUT
$router->add("/products/update")->via(array("POST", "PUT"));
// 使用转换(Using convertions)
//The action name allows dashes, an action can be: /products/new-ipod-nano-4-generation
$router->add('/products/{slug:[a-z\\-]+}', array('controller' => 'products', 'action' => 'show'))->convert('slug', function ($slug) {
    //Transform the slug removing the dashes
    return str_replace('-', '', $slug);
});
// 路由分组(Groups of Routes)
class BlogRoutes extends Phalcon\Mvc\Router\Group
{
    public function initialize()
    {
        $this->setPaths(array('module' => 'blog', 'namespace' => 'Blog\\Controllers'));
        $this->setPrefix('/blog');
});
/**
 * 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);
Beispiel #11
0
 * 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);