На ООП нужно реализовать получение данных для ряда заранее не предопределённых таблиц из БД. Есть ли более лучшее решение чем __callStatic?
Пример, что пока есть:
class Field {
public static function __callStatic( string $name, array $args ) {
// здесь MySQL запрос типа (для иллюстрации поведения)
return SELECT * FROM {$name}fields WHERE id = $args['0'] AND name = $args['1']
}
}
И получение, данных:
echo Field::post( [ 2, 'meta_field' ] );
Печаль в том, что в метод __callStatic можно передать только 2 аргумента. И второй только в виде массива.
Есть ли паттерн, который позволил бы реализовать это в виде?
echo Field::post( 2, 'meta_field' );
Я пробовал так:
echo Field::post( 2 )->meta_field;
Но интерпретатор ожидаемо вернул ошибку. Так как передать можно только массив.