dedlfix: OOP Konflikt

Beitrag lesen

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";