Если вопрос именно "Как работать с фреймворками при условии знания языка?", то расскажу по собственному опыту. Я вливался в коллектив с самописным фрэймворком и очень плохой документацией. Мне не могло никак помочь гугление и т.д.
1 - изучаем входной скрипт, дебажим его. (xdebug, xhprof). Там часто есть что-то вроде включения дебаг режима.
2 - смотри какие паттерны часто используются в проекте. Читай любую доступную документацию, но только тогда, когда нет возможности кодить или что-то не понимаешь.
3 - мне не повезло и впервые пришлось сразу работать с DataMapper, но сразу начинай писать код. Стандартный CRUD комментов. Поля id, title, description. Сделай максимально быстро не вдаваясь в подробности. Если что-то непонятно - goto пункт 2.
4 - если есть автогенераторы - обязательно смотри что они делают, тренируйся писать то, что они генерируют самостоятельно.
5 - начинай много раз с ноля! (Важный пункт) Небольшие задачи решай с самого начала от генерации скафолда. Каждый раз ты будешь узнавать больше нового и понимать все старое. Очень важно уметь быстро развернуть проект + регистрация, авторизация, пара форм и т.д. Примечание : это называется прототипированием, в этом плане очень хороши фрэймворки типа Laravel и Rails. Они дают возможность очень быстро сгенерировать прототип и начать с ним работать допиливая необходимые части.
6 - Продвигай свой фрэймворк. Используй его при любой возможности. Я писал админки для сайтов на Yii1, когда вся другая команда писала фронтэнд часть на чистом PHP. Разница в скорости заставила всех начать изучать Yii.
7 - Для понимания работы фрэймворка создай минимальный свой. Есть хороший видео-гайд от специалиста.
www.specialist.ru вот конкретно этого. Я смотрел очень давно, видос качал с торентов.