1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60:
<?php
namespace MvcCore\Ext\Router\Lang;
class Route extends \MvcCore\Route
{
public function __construct ($nameOrConfig = NULL, $controller = NULL, $action = NULL, $pattern = NULL, $reverse = NULL, $params = array()) {
$args = func_get_args();
if (count($args) == 1 && gettype($args[0]) == 'array') {
$data = (object) $args[0];
$name = isset($data->name) ? $data->name : '';
$controller = isset($data->controller) ? $data->controller : '';
$action = isset($data->action) ? $data->action : '';
$pattern = isset($data->pattern) ? $data->pattern : '';
$reverse = isset($data->reverse) ? $data->reverse : '';
$params = isset($data->params) ? $data->params : array();
} else {
list($name, $controller, $action, $pattern, $reverse, $params) = $args;
}
if (!$controller && !$action && strpos($name, ':') !== FALSE) {
list($controller, $action) = explode(':', $name);
}
$this->Name = $name;
$this->Controller = $controller;
$this->Action = $action;
$this->Pattern = $pattern;
if ($reverse) {
$this->Reverse = $reverse;
} else {
if (gettype($pattern) == 'array') {
$reverse = array();
foreach ($pattern as $lang => $value) $reverse[$lang] = trim($value, '#^$');
$this->Reverse = $reverse;
} else {
$this->Reverse = trim($pattern, '#^$');
}
}
$this->Params = $params;
}
}