Фильтрация данных, покритикуйте мою реализацию?
1. PSR-1, PSR-2, PSR-4 прочитай и используй.
2. Если что-то идет не так - не возвращай false, бросай исключение.
3. Для возврата множества типов значений должна быть реальная причина, то что вы в valid_password возвращаете либо пароль оттримленный (это вообще не задача валидации), либо false - это не правильно.
4. Требуйте конкретные типы входящих данных. Например для того же пароля - надо проверять что на входе строка. Иначе: https://3v4l.org/TjOJV
Посмотрите как надо https://github.com/ko-ko-ko/php-assert ))
В PHP можно не плодить функции на каждый чих просто из-за того, что у них разные аргументы. Например, так:$input = SmartInput::parsePost([
  'id' => SmartInput::INPUT_INT,
  'sex' => ['type' => SmartInput::INPUT_ENUM, 'enum' => ['male', 'female', 'none'], 'default' => 'none'],
  'birthday' => SmartInput::INPUT_DATE_OPTIONAL,
  'phone' => ['type' => SmartInput::TYPE_PHONE, 'multiple' => true]
]);
Внутри функции - цикл и case.