sinevia/php-library-router

v1.3.0 2018-12-27 05:40 UTC

This package is auto-updated.

Last update: 2024-10-27 18:34:22 UTC


README

A flexible router with multiple options

Introduction

Unlike other routes, this router supports also database driven routes

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.

Create the database table:

$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):

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

Uninstall (est. 1 min)

Removal of the package is a breeze:

composer require sinevia/php-library-router

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

Configuration

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

Example Routes

Human Friendly Action Names

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

Example action name: /article/:num/:string