Исходный код
function getWhere($filter)
{
$where = '';
switch ($filter)
{
case '22':
$where = ' where type = 22 ';
return $where;
break;
case '23':
$where = ' where type = 23 ';
return $where;
break;
case '24':
$where = ' where type = 24 ';
return $where;
break;
case '25':
$where = ' where type = 25 ';
return $where;
break;
default:
$where = '';
};
}
Как можно отрефакторить исходный код
В этой функции много лишнего: дублируется код формирования where
, присваиваются ненужные перенные, в дублируется значение типа.
Также у параметра функции слишком широкий смысл: он назван $filter
, хотя он используется как значение типа.
function getWhereByType($type)
{
return empty($type) ? '' : " where type = $type ";
}