Lime\App::bindClass PHP Method

bindClass() public method

Bind Class to routes
public bindClass ( String $class, $alias = false ) : void
$class String
return void
    public function bindClass($class, $alias = false)
    {
        $self = $this;
        $clean = $alias ? $alias : trim(strtolower(str_replace("\\", "/", $class)), "\\");
        $this->bind('/' . $clean . '/*', function () use($self, $class, $clean) {
            $parts = explode('/', trim(preg_replace("#{$clean}#", "", $self["route"], 1), '/'));
            $action = isset($parts[0]) ? $parts[0] : "index";
            $params = count($parts) > 1 ? array_slice($parts, 1) : [];
            return $self->invoke($class, $action, $params);
        });
        $this->bind('/' . $clean, function () use($self, $class) {
            return $self->invoke($class, 'index', []);
        });
    }