public function bindNamespace($namespace, $alias)
{
$self = $this;
$clean = $alias ? $alias : trim(strtolower(str_replace("\\", "/", $namespace)), "\\");
$this->bind('/' . $clean . '/*', function () use($self, $namespace, $clean) {
$parts = explode('/', trim(preg_replace("#{$clean}#", "", $self["route"], 1), '/'));
$class = $namespace . '\\' . $parts[0];
$action = isset($parts[1]) ? $parts[1] : "index";
$params = count($parts) > 2 ? array_slice($parts, 2) : [];
return $self->invoke($class, $action, $params);
});
$this->bind('/' . strtolower($namespace), function () use($self, $namespace) {
$class = $namespace . "\\" . array_pop(explode('\\', $namespace));
return $self->invoke($class, 'index', []);
});
}