Felix Riesterer: PHP: default Zweig in switch will nicht anspringen

Beitrag lesen

Lieber claus,

mir wäre das Script zu unübersichtlich. Warum definierst Du kein assoziatives Array, welches die zu inkludierenden Skripte enthält?

$inc = [
  'hom' => 'home',
  'ba1' => 'basics1',
  'ba2' => 'basics2'
];

if (!array_key_exists($_GET['kap'], $inc)) {
  exit(header('Status: 403', TRUE, 403));
}

include('kapitel/kap_'.$inc[$_GET['kap']].'.php');

Jetzt sieht man sehr schön, dass ein ungültiger Wert in kap zu einem exit mit 403-er führt. Danach wird das garantiert Passende inkludiert. Keine umschweifige case-Notation, kein default-Zweig oder mehrfache exit-Anweisungen mehr...

Liebe Grüße

Felix Riesterer