openlss/lib-router

Router for handling web calls, allows dynamic registration at runtime

0.0.8 2013-04-09 05:18 UTC

This package is not auto-updated.

Last update: 2024-03-16 12:01:56 UTC


README

Router for handling web calls, allows dynamic registration at runtime

Usage

use \LSS\Router;

Router::init();
Router::_get()->setRoot(ROOT);
Router::_get()->setDefault('/ctl/home.php');
Router::_get()->register('client','list'=>'/ctl/client_list.php');
$dest = Router::_get()->route(get('act'),get('do'),get('fire'));
require($dest);

Reference

(void) Router::init()

Calls the construct and starts the singleton

(object) Router::_get()

Returns the current instance

(string) Router::setDefault($dest)

Sets the default file to route too. Relative to root.

(string) Router::setRoot($root)

Set the root folder that all route calls are relative to.

(object) Router::register($act,$do=array())

  • $act The first routing argument
  • $do An array of secondary routing arguments
  • Do may also contain arrays of "fire" routing calls The router is tertiary

A more in depth example

Router::_get()->register('client',array(
	 'list'		=>	'/ctl/client_list.php'
	,'edit'		=>	'/ctl/client_edit.php'
	,'create'	=>	'/ctl/client_create.php'
	,'manage'	=>	array( //this is a tiertiary segment
		'contacts'		=>	'/ctl/client_manage_contacts.php'i
		 //set the default when the third segment is missing
		Router::DEF		=>	'/ctl/client_manage.php'	
	)
	//set the default when the second segment is missing
	,Router::DEF	=>	'/ctl/client_list.php'
));

(string) Router::route($act=null,$do=null,$fire=nul)

  • $act The first routing segment usually a get variable
  • $do The second routing segement usually a get variable
  • $fire The thrist routing segment Returns the controller to route to which should then be sent to require()