Напишите модель базы данных на каком-либо языке (возможно, по вашему выбору), в зависимости от конкретного языка.Используйте эту модель для генерации вашей схемы MySQL и любой промежуточной модели или API, которые вы хотите предложить в PHP.
Модель может включать такие вещи, как имена «сущностей» (не обязательно таблиц perse)свойства и их тип (число, текст, перечисление, ссылка).
MySQL уже очень техническая реализация, и манипулировать ей не очень легко.Язык, специфичный для предметной области, значительно поможет в моделировании и согласованности данных, потому что вы получаете столько бесплатно.Вы свободны от всех деталей MySQL, таких как CHAR, VARCHAR, TEXT, MEDIUMTEXT, LONGTEXT, BLOB.Для действительно общих приложений вы не хотите думать об этом.
Обновление: Вы хотите «абстрагировать свою логику».Вы должны начать с абстрагирования вашей модели данных.Есть модель, которую вы можете преобразовать в запросы MySQL, которые будут строить вашу базу данных.Вы можете использовать ту же модель для генерации API в PHP.Ваша модель знает, какие существуют сущности (таблицы) и какие свойства и какого типа, чтобы вы могли применять их в PHP.