echo $begrüßung;
// Sind Controller UND Action vorhanden? if(isset($uri[0])&&isset($uri[1]))
Und wenn nicht?
Was hältst du von der Idee, im Falle der Absenz der Action einen Default-Wert wie "Index" zu nehmen und beim Controller das gleiche? Das setzt dann voraus, dass jeder ActionController eine Index-Action erhalten muss und es einen Index-Controller geben muss (der mindestens eine Index-Action benötigt).
# Sonstige Parameter $misc=explode("&",$uri\_params[1]); ($misc==false) ? NULL : array\_push($params,$misc);
Wie gesagt, der Querystring ist bereits in $_GET zu finden. Abgesehen davon gibt es parse_str(). Und was du da mit dem Trinitätsoperator machst ist auch eine Form des Missbrauchs. Nimm ihn nur, wenn du einen Ent-Oder-Weder-Rückgabewert brauchst. Alle anderen Fälle sind in einem if besser aufgehoben.
Was ist der Unterschied zwischen
$i<=count($uri)-1;
und
$i < count($uri);
? Keiner, aber die zweite Zeile ist einfacher :-)
# Wichtige Parameter for($i=2; $i<=count($uri)-1; ++$i){ array\_push($params,$uri[$i]); }
array_slice() gibt es auch noch.
$object->$uri[1]( $params);
call_user_func_array() wäre mein Favorit.
call_user_func_array(array($object, $uri[1]), array_slice($uri, 2));
Eine Action, die zwei Parameter erwartet, ist dann eine Funktion/Methode mit zwei Argumenten
public function foo($bar, $qux) {...}
echo "$verabschiedung $name";