Lime\App::bindNamespace PHP Method

bindNamespace() public method

Bind namespace to routes
public bindNamespace ( String $namespace, $alias ) : void
$namespace String
return void
    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', []);
        });
    }