2017 © Pedro Peláez
 

library php-library-router

PHP Library Router

image

sinevia/php-library-router

PHP Library Router

  • Friday, July 27, 2018
  • by sinevia
  • Repository
  • 1 Watchers
  • 0 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Php Library Router

A flexible router with multiple options, (*1)

Introduction

Unlike other routes, this router supports also database driven routes, (*2)

Features

  • Retrieve routes from database, or specify programatically
  • Parametrized routes
  • Middleware

Installation (est. 1 min)

composer require sinevia/php-library-router

Word of warning. Do use a stable package, as "dev-master" is a work in progress., (*3)

Create the database table:, (*4)

$router = (new Plugins/Router);
$router->setDatabase($db);
$router->install();

Alternatively create the table manually with the following structure (default table name is snv_actions_action):, (*5)

Id - integer Status - string / enum (Active|Inactive) ActionName - string Middleware - string Response - string Memo - text CreatedAt - datetime UpdatedAt - datetime DeletedAt - datetime, (*6)

Uninstall (est. 1 min)

Removal of the package is a breeze:, (*7)

composer require sinevia/php-library-router

Optionally, delete the route tables (the default table is snv_actions_action), (*8)

Configuration

$db = new Sinevia\SqlDb(your_database_options); die((new Plugins\Router())->setDatabase($db)->run()));, (*9)

Example Routes

Id Status ActionName Middleware Response Memo
1 Active / home will excute the function home()
2 Inactive /hello/:string verifyUser,setLastLogin hello will excute the middleware functions verifyUser then setLastLogin then call the function hello($name)
3 Active /admin App\Admin@dashboard will excute the method dashboard from class Admin in namespace App

Human Friendly Action Names

The following shortcuts can be used to create human friendly routes (actions):, (*10)

Shortcut Regex
:any ([^/]+)
:num ([0-9]+)
:all (.*)
:string ([a-zA-Z]+)
:number ([0-9]+)
:numeric ([0-9-.]+)
:alpha' ([a-zA-Z0-9-_]+)

Example action name: /article/:num/:string, (*11)

The Versions

27/07 2018

dev-master

9999999-dev http://github.com/sinevia/php-library-router

PHP Library Router

  Sources   Download

proprietary

php library router sinevia

27/07 2018

v1.0.0

1.0.0.0 http://github.com/sinevia/php-library-router

PHP Library Router

  Sources   Download

proprietary

php library router sinevia