2017 © Pedro Peláez
 

library router

Simple PHP Router, supports REST and reverse routing.

image

vir-mir/router

Simple PHP Router, supports REST and reverse routing.

  • Tuesday, March 3, 2015
  • by vir-mir
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

VM PHP Router class

Обработка маршрутов, (*1)

  • настраиваемые HTTP методы
  • REST - методы
  • Можно раскладывать по группам
  • Разделение URL по доменам

Установка через composer

{
    "require": {
        "vir-mir/router": "dev-master"
    }
}

Описание

Настройка URL

настройка для .htaccess, (*2)

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ index.php [NC,L]

Пример php реализации

<?php
require __DIR__.'/vendor/autoload.php';

use VMRouter\RouteCollection;
use VMRouter\Router;
use VMRouter\Route;

$collection = new RouteCollection();
$collection->attach(new Route('/users/', array(
    'controller' => 'Controller\User::usersCreateAction',
    'methods' => 'POST',
    'domains' => ['site.ru', 'strore.site.ru'], // будет работать только на указанных доменах
)));

$collection->attach(new Route('/users/(?P<user_id>\d+)/', array(
    'controller' => 'Controller\User::getUAction',
    'methods' => 'GET',
    'domains' => ['*'] // все домены 
)));

$router = new Router($collection);
$route = $router->matchCurrentRequest();

var_dump($route);

Загрузка из папки

<?php
// index.php

require __DIR__.'/vendor/autoload.php';

use VMRouter\Router;
use VMRouter\RouteCollection;

$router = new Router(new RouteCollection());

$route = $router
    ->setRoutesDir(__DIR__ . '/router/') // путь до папки с Routes
    ->setRoutes()
    ->matchCurrentRequest();


var_dump($route);
<?php
// router/urers.php

use VMRouter\Route;

$routes = [];


array_push($routes, new Route('/users/', array(
            'controller' => 'someController::users_create',
            'methods' => 'GET'
        )));

array_push($routes, new Route('/users/(?P<user_id>\d+)/cover/', array(
            'controller' => 'someController::users_create',
            'methods' => 'GET'
        )));

array_push($routes, new Route('/users/(?P<user_id>\d+)/', array(
            'controller' => 'someController::users_create',
            'methods' => 'GET'
        )));


return $routes;

The Versions

03/03 2015

dev-master

9999999-dev https://github.com/vir-mir/VMRouter

Simple PHP Router, supports REST and reverse routing.

  Sources   Download

MIT

The Requires

  • php >=5.3.3

 

php rest routing router