блин. мне не нравится что вы все пытаетесь сравнить класс с вариантами фреймворков. очень не нравиться.
я не вижу сложности без проблем расширить свой класс при необходимости - я понимаю что расширение класса в ООП делается по средством наследования, но
я специально разбил весь класс на методы
messages - формирует текст сообщения в случае не правильных данных
приватные методы - добавил метод - добавил функцинал
combine - switch - добавил case - добавил функционал.
ну я об этом и предполагал.
по поводу разбиения класса на мелкие.
т.е. я вижу - что если я тупо разобью на мелкие классы - то понимаю - то мне бы тогда хватио функций или процедурки
function validateEmail($email){
if(valid email)
return array('value'=>$email);
else
return array('error'=>'err message', 'value'=>$email);
}
т.е. опять же - не суй класс туда - где можно обойтись без класса.
Использование интерфесов - уже оправдывает использование именно классов - т.к. есть шаблон - по которому должна проводиться валидация.
Но опять - мне не понятно что должен делать родительский Validate
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker