class Router

Class Routes A route is a pair key => value, where key is the short name of the controller and the value the FQCN

Traits

Trait Singleton, This class ensures that all class that use this have only one instance of itself if called as: Class::getInstance()

Properties

static protected bool $singletonArray Set to true if you want use more that one singleton using and index param in getInstance from Singleton
static protected string $basePath The base path where config files are placed. from Singleton
static private string $className Name of the class from Singleton
static private array $instances Hold the classes on instance. from Singleton
protected bool $separateConfigFile Set to true if you want to save configuration in a separate file from Singleton
private array $routes Contains all routes.

Methods

static Router
getInstance()

Return this instance.

static string
getClassName()

Returns the class name.

from Singleton
bool
setConfig(array $params, bool $merge = true, string $index = 'main')

Save config to file.

from Singleton
array
getYamlContent()

Returns the content of the Yaml file.

from Singleton
string
getFilePath()

Return the full file config path.

from Singleton
string
getFileName()

Return the file name.

from Singleton
static string
yamlName()

Return the classname for yaml file.

from Singleton
bool
fileExists(string $filename)

Returns if file exists.

from Singleton
array
getConfig(string $index = 'main')

Returns the yaml config params.

from Singleton
static array
getDefaultValues()

Return default values

string
getBasePath()

Return the base path.

from Singleton
initSingleton()

Initialization, equivalent to __construct and must be called from main class.

from Singleton
__construct()

Routes constructor.

array
getRoutes()

Return a list of routes.

setRoutes(array $routes = [])

Set a new list of routes.

array
loadRoutes()

Load routes from configuration file.

bool
saveRoutes(bool $merge = false)

Saves routes to configuration file.

bool
addRoute(string $key, string $value, bool $force = false)

Add a new route if is not yet added.

bool
hasRoute(string $key)

Returns if route is setted.

string|null
getRoute(string $key)

Returns the FQCN if exists or null.

Details

at line 98
static Router getInstance()

Return this instance.

Return Value

Router

in Singleton at line 88
static private string getClassName()

Returns the class name.

Return Value

string

in Singleton at line 103
bool setConfig(array $params, bool $merge = true, string $index = 'main')

Save config to file.

Parameters

array $params
bool $merge
string $index

Return Value

bool

in Singleton at line 130
private array getYamlContent()

Returns the content of the Yaml file.

Return Value

array

in Singleton at line 152
string getFilePath()

Return the full file config path.

Return Value

string

in Singleton at line 162
string getFileName()

Return the file name.

Return Value

string

in Singleton at line 172
static string yamlName()

Return the classname for yaml file.

Return Value

string

in Singleton at line 184
protected bool fileExists(string $filename)

Returns if file exists.

Parameters

string $filename

Return Value

bool

in Singleton at line 196
array getConfig(string $index = 'main')

Returns the yaml config params.

Parameters

string $index

Return Value

array

at line 84
static array getDefaultValues()

Return default values

Return Value

array

in Singleton at line 215
string getBasePath()

Return the base path.

Return Value

string

in Singleton at line 223
protected initSingleton()

Initialization, equivalent to __construct and must be called from main class.

at line 35
protected __construct()

Routes constructor.

at line 50
array getRoutes()

Return a list of routes.

Return Value

array

at line 60
setRoutes(array $routes = [])

Set a new list of routes.

Parameters

array $routes

at line 70
array loadRoutes()

Load routes from configuration file.

Return Value

array

at line 110
bool saveRoutes(bool $merge = false)

Saves routes to configuration file.

Parameters

bool $merge

Return Value

bool

at line 125
bool addRoute(string $key, string $value, bool $force = false)

Add a new route if is not yet added.

With forced can be added always.

Parameters

string $key
string $value
bool $force

Return Value

bool

at line 142
bool hasRoute(string $key)

Returns if route is setted.

Parameters

string $key

Return Value

bool

at line 154
string|null getRoute(string $key)

Returns the FQCN if exists or null.

Parameters

string $key

Return Value

string|null