Вы не многому научитесь, используя такие фреймворки, как Zend. Это потому, что они стараются быть простыми и скрывают от вас хитрые детали. Они не хотят, чтобы пользователь изучал что-то сложное, и это нормально.
Вы узнаете намного больше, написав фреймворк MVC или его части самостоятельно, а затем посмотрите, как другие фреймворки решали проблемы, которые у вас были (или есть). Тем не менее, это не стоит того, если вы на самом деле не используете свою среду в реальной жизни. В реале вы столкнетесь с большим количеством проблем, которые действительно улучшат ваши знания.
Я предлагаю написать некоторые компоненты самостоятельно. т.е. FrontController, Active Record или Router. Используйте их в небольших проектах, посмотрите, как они работают, а затем сравните с другими решениями.
Между прочим, я думаю, что изучение основанной на тестировании разработки гораздо важнее, чем изучение другой среды. (На всякий случай, если вы не делаете TDD)