Устранение дублирования кода при формировании однотипных where


Исходный код

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 ";
}

Теория