PHP Class Pop\Mvc\Router

Author: Nick Sagona, III ([email protected])
Show file Open project: nicksagona/PopPHP Class Usage Examples

Protected Properties

Property Type Description
$basePath string Base path URI
$controller Controller Current controller object
$controllerClass string Current controller class name string
$controllers array Array of available controllers class names
$project Pop\Project\Project Project object
$request Pop\Http\Request Request object

Public Methods

Method Description
__construct ( array $controllers, Pop\Http\Request $request = null ) : Router Constructor
addControllers ( array $controller ) : Router Add controllers
controller ( ) : Controller Get the current controller object (shorthand alias)
factory ( array $controllers, Pop\Http\Request $request = null ) : Router Create a Pop\Mvc\Router object
getAction ( ) : string Get action from request within the current controller
getController ( ) : Controller Get the current controller object
getControllerClass ( ) : string Get the current controller class name string
getControllerName ( string $controller ) : string Get a controller class name string, if available
getControllers ( ) : array Get array of controller class names
getProject ( ) : Project Get the project object
getRequest ( ) : Pop\Http\Request Get the request object
project ( ) : Project Get the project object (shorthand alias)
request ( ) : Pop\Http\Request Get the request object (shorthand alias)
route ( Project $project = null ) : void Route to the correct controller

Protected Methods

Method Description
traverseControllers ( array $controllers, integer $depth ) : string Traverse the controllers based on the path

Method Details

__construct() public method

Instantiate the router object
public __construct ( array $controllers, Pop\Http\Request $request = null ) : Router
$controllers array
$request Pop\Http\Request
return Router

addControllers() public method

Add controllers
public addControllers ( array $controller ) : Router
$controller array
return Router

controller() public method

Get the current controller object (shorthand alias)
public controller ( ) : Controller
return Controller

factory() public static method

Create a Pop\Mvc\Router object
public static factory ( array $controllers, Pop\Http\Request $request = null ) : Router
$controllers array
$request Pop\Http\Request
return Router

getAction() public method

Get action from request within the current controller
public getAction ( ) : string
return string

getController() public method

Get the current controller object
public getController ( ) : Controller
return Controller

getControllerClass() public method

Get the current controller class name string
public getControllerClass ( ) : string
return string

getControllerName() public method

Get a controller class name string, if available
public getControllerName ( string $controller ) : string
$controller string
return string

getControllers() public method

Get array of controller class names
public getControllers ( ) : array
return array

getProject() public method

Get the project object
public getProject ( ) : Project
return Pop\Project\Project

getRequest() public method

Get the request object
public getRequest ( ) : Pop\Http\Request
return Pop\Http\Request

project() public method

Get the project object (shorthand alias)
public project ( ) : Project
return Pop\Project\Project

request() public method

Get the request object (shorthand alias)
public request ( ) : Pop\Http\Request
return Pop\Http\Request

route() public method

Route to the correct controller
public route ( Project $project = null ) : void
$project Pop\Project\Project
return void

traverseControllers() protected method

Traverse the controllers based on the path
protected traverseControllers ( array $controllers, integer $depth ) : string
$controllers array
$depth integer
return string

Property Details

$basePath protected property

Base path URI
protected string $basePath
return string

$controller protected property

Current controller object
protected Controller,Pop\Mvc $controller
return Controller

$controllerClass protected property

Current controller class name string
protected string $controllerClass
return string

$controllers protected property

Array of available controllers class names
protected array $controllers
return array

$project protected property

Project object
protected Project,Pop\Project $project
return Pop\Project\Project

$request protected property

Request object
protected Request,Pop\Http $request
return Pop\Http\Request