src/Router.php
public function add($name, $url, $callback, array $options = array())
    {
        if (!is_callable($callback) && !class_exists($callback)) {
            throw new Exception("Ungültiges Callback bei Route: $name");
        }

        if (!$this->has($name)) {
            $this->routes[$name] = array('url' => $url, 'callback' => $callback, 'options' => $options);
            if (!isset($this->current_route)) {
                if ($this->match($name)) {
                    $this->current_route = $name;
                }
            }

            return true;
        }

        return false;
    }
public function add($name, $url, $callback, array $options = array())
    {
        if (!is_callable($callback) && !class_exists($callback)) {
            throw new Exception("Ungültiges Callback bei Route: $name");
        }

        if (!$this->has($name)) {
            $this->routes[$name] = array('url' => $url, 'callback' => $callback, 'options' => $options);
            if (!isset($this->current_route)) {
                if ($this->match($name)) {
                    $this->current_route = $name;
                }
            }

            return true;
        }

        return false;
    }
Diese Methode wird zum Registrieren neuer Routen verwendet.
Die $url kann ein regulärer Ausdruck sein, jedoch ohne Delimiter.
Außerdem kann die $url auch Platzhalter mit folgendem Format beinhalten:
{placeholder}
Optional können auch $options übergeben werden. Diese können das Routing
einschränken. Dafür gibt es folgende Möglichkeiten:
- "https" ... bool - wenn TRUE, muss die aufgerufene URL über HTTPS aufgerufen worden sein - Standard: FALSE
- "verb" ... string or array - schränkt die Request-Methode ein, also über welche Request-Methoden die Route erreichbar sein soll. - Standard: alle
- "domain" ... string or array - Beschränkt die Route auf eine oder mehrere bestimmte Domains.

Gibt zurück ob die Route erfolgreich hinzugefügt wurde oder nicht. (TRUE/FALSE)
Wenn der Name der Route bereits vergeben ist, kann die Route nicht registriert werden!

@param string $name     eindeutiger Name der Route
@param string $url      Routen-Definition - kann Platzhalter beinhalten
@param mixed  $callback Funktion, die aufgerufen wird, sobald die Route ausgeführt wird oder ein Controller (MVC)
@param array  $options  optional - ermöglicht Zusatzinformationen, wie z.B.: Einschränkungen für die Routen

@return bool