TheArt.. Wookieb Ci już napisał :/
użyj
case "jedna":
case "druga":
case "trzecia:"
//tu instrukcje;
break;
Switch działa tak, że wykonuje instrukcje do czasu aż napotka break. Jeśli go nie napotka to wykonuje wszystko dalej, nawet jeśli to następny case. Tak więc jeśli nie trafi na żaden z trzech to pójdzie dalej szukać. Jeśli trafi to wykona instrukcję spod "trzecia", bo są one instrukcjami widocznymi także dla "pierwsza" i "druga". Dlatego właśnie zamykasz zazwyczaj poprzez break ciąg instrukcji dla każdego case. Jeśli jednak wiesz, że coś jest wspólne, to walisz je bez break obok i ewentualnie przy drobnych różnicach w głównym bloku instrukcji wyszczególniasz gdzie mają być drobne modyfikacje.
switch (uri::segment(3)) {
case 'nowi':
//ustawianie podstawowych parametrów
$this->podstrona = new View('domyślny widok');
js::add('media/js/jquery.dataTables.min.js');
css::add('media/css/datatables.css');
//ciąg instrukcji
$this->podstrona->zmienna = $this->model->pobieranie_danych();
break;
case 'aktywni':
case 'wylaczeni':
case 'wygasa':
case 'logowania':
case 'leniwi':
case 'callcenter':
//sprawdzanie, czy użytkownik ma prawo odwiedzić podstronę:
if(!valid::level(0,1)) {url::redirect_home();}
//ustawianie podstawowych parametrów
$this->podstrona = new View('inny_panel');
$this->podstrona->typ = uri::segment(3);
js::add('media/js/jquery.dataTables.min.js');
css::add('media/css/datatables.css');
break;
case 'edit':
if(!uri
::segment(4
) || !is_numeric(uri
::segment(4))) { //tu jeden redirect
url::redirect('domyślne przekierowanie');
}
//ustawianie podstawowych parametrów
break;
default:
//przekieruj wszystkie wywołania nie odpowiadające warunkom
url::redirect('domyślne przekierowanie');
}
Zwróć w przykładzie jednego z moich kodów jak mam rozwiązane to LUB. Posługuję się potem w bloku identycznego kodu dla wszystkich tylko uri::segment(3) decydując co wyświetlę (to akurat odpowiada za ustawienie klasy "active" dla wybranej zakładki). Oczywiście przy sprawdzaniu rozszerzonym helperem (valid::level) wcześniej, czy ma do tego prawo