2017 © Pedro Peláez
 

library dez-router

Router Component

image

dez-php/dez-router

Router Component

  • Tuesday, August 30, 2016
  • by dez
  • Repository
  • 1 Watchers
  • 0 Stars
  • 214 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 1 % Grown

The README.md

DezByte Router

Initialization

After composer install register few components to DI, (*1)

$di = new Container();

$di->set( 'router', function() {
  return new Router();
} );

$di->set( 'eventDispatcher', function() {
  new Dispatcher();
} );

$di->set( 'request', function() {
  return new Request();
} );

// try to fetch router from container
try {
  /** @var $router Router */
  $router = $di->get( 'router' );
} catch ( \Exception $e ) {
  die($e->getMessage());
}

Register routes

$router->add( '/:controller' );
$router->add( '/:controller/:action' );
$router->add( '/:controller/:action/:id' );
$router->add( '/:controller/:action/:token' );
$router->add( '/:controller/:action.:format/:module-:do/:params/:statusCode' )
  ->regex( 'format', 'html|json' );

// or import from files
$router
  ->importFromArray( [
      '/test.php'  => [
          'matches'   => [
              'controller'    => 'test'
          ]
      ]
  ] )
  ->importFromFileArray( './routes.php' )
  ->importFromJson( './routes.json' )
  ->importFromXml( './routes.xml' );

Sample files

routes.json

{
  "/":{},
  "/:format/:module/:controller/:action": {
    "regex": {
      "format": "html|json"
    }
  }
}

routes.xml

<routes>
  <route match=":module">
    <route match=":controller">
      <route match=":action">
        <route match=":hash" hash="[a-z0-9]{32}"></route>
        <route match=":params"></route>
      </route>
    </route>
  </route>
  <route match=":token" controller="auth" action="checkToken" token="[a-f0-9]{40}"></route>
</routes>

routes.php

return [
  '/dashboard'    => [
    'matches'       => [
      'module'        => 'user-panel',
      'controller'    => 'index',
      'action'        => 'dashboard',
    ]
  ]
];

The Versions

30/08 2016

dev-master

9999999-dev

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

30/08 2016

v1.3.1

1.3.1.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

30/08 2016

v1.3.0

1.3.0.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

02/07 2016

v1.2.2

1.2.2.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

21/04 2016

v1.2.1

1.2.1.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

30/10 2015

v1.2.0

1.2.0.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

10/10 2015

v1.1.1

1.1.1.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

10/10 2015

v1.1.0

1.1.0.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router

27/09 2015

v1.0.0

1.0.0.0

Router Component

  Sources   Download

MIT

The Requires

 

router php router dez-php router