Хочу сделать функцию и запихать switch в foreach
Плюс есть функция для проверки GET параметра в массиве
Вот примерно вот так получается
$set = array(
'index' => 'main.tpl',
'category' => 'category.tpl',
'good' => 'good.tpl'
);
function gtPages($gets, $data, $massiv)
{
if (array_key_exists($gets, $massiv))
{
$data = $gets;
} else {
header('HTTP/1.1 404 Not Found');
exit(file_get_contents(HOST.'404.html'));
}
}
function Cat($dat, $page) {
foreach ($dat as $key => $value)
{
switch ($page)
{
case $key:
include $value;
break;
}
}
}
$rem = isset($_GET['rem']) ? $_GET['rem'] : '';
gtPages($_GET['rem'], $rem, $set);
Cat($set, $rem);
Проблема в том что не могу в функцию Cat вставить default для switch.
Как это сделать ума не приложу.
Еще интересно вот что: Что лучше использовать switch или if?
Попробовал с IF и получилось вот так
$set = array(
'index' => 'main.tpl',
'category' => 'category.tpl',
'good' => 'good.tpl'
);
function gtPages($gets, $data, $massiv)
{
if (array_key_exists($gets, $massiv))
{
$data = $gets;
} else {
header('HTTP/1.1 404 Not Found');
exit(file_get_contents(HOST.'404.html'));
}
}
function Cat($dat, $page) {
foreach ($dat as $key => $value)
{
if ($key == $page)
{
include $value;
}
}
}
$rem = isset($_GET['rem']) ? $_GET['rem'] : '';
gtPages($_GET['rem'], $rem, $set);
Cat($set, $rem);
Что в первом что во втором случае если GET параметр пуст, то покажет ошибку 404.
Как лучше сделать? Как прикрутить default в функцию Cat и как сделать так
чтоб если GET параметр был пуст подключалось что либо установленное
к примеру по умочанию?
Буду рад любым подсказкам.
_