Как спроектировать состояние проверки неопределённых данных в PHP-приложении
Спроектируйте в PHP проверку с прослеживаемой историей решений: отделите полученные данные от решения, задайте переходы и контролируйте права, параллельные изменения и исправления.
Прочитайте статью