Где?
У вас - возможно.
if(isset($settings->type)){
if($settings->type=="insert"){
$SQL[]="INSERT INTO";
}elseif($settings->type=="update"){
$SQL[]="UPDATE";
}elseif($settings->type=="delete"){
$SQL[]="DELETE FROM";
}else{
return null;
}
}
private function resolveQueryType(array $settings): ?string
{
$mapping = [
'insert' => 'INSERT INTO',
'update' => 'UPDATE',
'delete' => 'DELETE FROM',
];
// private const KEY_QUERY_TYPE = 'type';
return $mapping[$settings[self::KEY_QUERY_TYPE]] ?? null;
}
Для любителей похоливарить на тему (object) vs json_encode: массивы всегда ассоциативные с большой вложенностью. При использовании (object) вся внутренняя структура созданных объектов остается массивами, а при json_decode(json_encode($array), false) массив ВЕСЬ становится объектом.
$obj = json_decode(json_encode($data));
// вместо
$obj = (object)$data;
// я уж не говорю про создание прокси с перегрузкой __get
while($Row=$QueryResults->fetch()){
if(is_null($ArrayKey)){
$Results[]=$Row;
....
// Вместо
while ($row = $queryResults->fetch()) {
yield $row;
}
Многоточие всегда означает некоторый набор данных после, за исключением явных синтаксических конструкций, вроде оператора вариадика (или деструктуризации) в php.