Изучение чего-то с гибкой системой ООП, как Lisp или Perl (см. Американского лося), позволит Вам лучше разворачивать и понимать свои мысли о разработке программного обеспечения. Идеально, каждый язык имеет некоторый уникальный фасет (ли это быть CLOS или некоторой другой техникой), который улучшает, расширяет и выращивает Ваши способности как программиста.
Хотя я сам не реализовал макет фреймворка, я был впечатлен Mockery .
Это полностью независимый фреймворк из макетов и заглушек, который вы должны уметь легко интегрироваться с любой существующей структурой или просто в существующую кодовую базу.
Я бы выбрал PHPUnit.