Сколько... ну как минимум написать пару проектов. Чистый пхп + пара библиотек, на мой взгляд отличный вариант для старта. Начинать изучение пхп с фреймворка в корне не верно. Нужно узнать язык. Причем вам никто не запрещает использовать ООП, скорее наоборот, но не копать сразу очень глубоко в теже самые паттерны - просто научится пользоваться объектами, понять как они работают. Я в свое время написал свою "CMS" подсматривая классы того же Zend'a - взял оттуда и частично переписал Request, Cache, Router, с бд работал через ADODB, шаблонизатор Smarty, после изучения некоторых простых проектов у меня получился даже Front Controller и экшены (поделить их по контроллерам, классам, я не догадался тогда). Даже догадался сделать реализацию Lazy Load работающий совместно с кешем.
Лучше бы это все делать под присмотром опытного программиста, или преподавателя, чтобы не делать велосипедов и грубых ошибок. Но это не всегда возможно.
pantagruel964: ну с чего то же нужно начинать, с какого то фреймворка. Я сам не знаю, с чего лучше начинать, но ходит 2 мнения - с простого, и с правильного. Наверное простое - это что то типа Slim или Sylex. С правильного - вроде рекомендуют тот же Symfony, все таки там есть какой то, хоть и сложный, но более правильный путь, с самого начала узнаешь и ORM и репозиторий и много всего другого классного вроде контейнера внедрения зависимостей.
И да, "говнокодить" можно везде )), но лучше сразу стараться делать и учиться правильному, а не наоборот - переучиваться в лучшую сторону сложнее будет)).
Правда перед этим, наверное лучше поработать на чистом пхп, + поюзать отдельные библиотеки типа того же Swiftmailer или Twig/Blade/Smarty, чтобы немного научится работать с объектами.