Tach!
if( $this->param('html') ){} # HTML ausgeben else if( $this->param('csv') ){} # CSV ausgeben else if( $this->param('pdf') ){} # PDFausgeben usw. else{} # unbekannter Parameter
Für jeden weiteren Wert ein erneuter Funktionsaufruf. switch existiert und kommt mit einem Funktionsaufruf aus (im Falle von format=xxx), ist auch nicht unübersichtlich und zeigt zudem deutlicher, dass ein einzelner Parameter auf verschiedene Inhalte geprüft wird, und es sich nicht um möglicherweise mehrere unabhängige Bedingungen handelt. Das weiß man bei den if-else-Verkettungen erst nachdem man alle analysiert hat.
Meine Kontrollstrukturen per if/else haben sich jahrzehntelang bewährt. Eben weil sie überschaubar und auch einfach erweiterbar sind. Wie bereits festgestellt, Kontollstrukturen dieser Art prüfen nur ob ein bestimmter Parameter gesetzt ist. Ein Switch hingegen vergleicht Strings. Abhängigkeiten unter Parametern sind über ein Switch nur schwer handelbar. Ebenso kann es ja auch mal mehr als einen Schlüsselparameter geben wie z.B. hier, sowas ist über native Kontrollstrukturen einfacher zu lösen als mit Switch.
MFG