Эли4ка. А зачем выдумывать колесо, когда оно уже есть?
Возьми любой фреймворк, например Ларавель и там и валидация, и вместо $_POST уже объект Request и валидатор контроллирующий запросы, и модель, и Фасады, и Респос- вариации, и View, и Трансформеры, и пагинация. Если что то не понравиться, то можно всё ещё собственные или другие варианты использовать.
На первых порах слегка повозишься, что бы разобраться, но потом стандартные вещи будут просто на ура вылетать.
От всей души советую
К стати простые вещи в том же Ларавель вообще на уровне Модели Eloquent решаются, а если что по сложней, так просто передаёшь в контроллер как параметр нужный тебе Класс иньектор сам заботиться о том, что бы у тебя новая инстанция передалась в Контроллер. Остаётся только в этот класс загнать парочку нужных параметров с request и вызвав нужную методу вызвать подходящую View или как в наших проэктах просто отправить ответ в виде джесона, что бы front-end обрабатывал его потом так, как ему угодно.
Со точки зрения фронтенда мы взяли человека работающего с библиотекой vue.js и он сам вызывает контроллеры в backand через http и вставляет его куда его душе угодно.
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();