Хочу развиваться и изучить какой-нибудь фреймворк. Что лучше для новичка, лишь поверхостно знакомым с ООП? Лично мне больше превалирует вторая Симфони, которая вот вот зарелизилась. Но пугает отсутствие русскоязычной документации, на английской долго буду стопориться с переводом. Что посоветуете?
Я бы советовал изучить оба. Берете задачу (блог, как бы банально это не звучало) и делаете две версии на этих фреймверках. По окончанию у Вас уже будет сделан выбор в пользу одного из них + базовые знания второго.
как меня достали эти блоги… Из-за этих изучений на уровне блога, потом у людей появляется куча лишних вопросов, которых можно было бы избежать сделав сразу нормальное приложение.
Не нравится блог, можно сделать такс манагер/галерею/сокращалку ссылок/картинковый хостинг/подставить нужное. Я лишь пример привел, смысл совершенно не в блоге конечно.
Для начала изучить паттерны (что такое и для чего), имхо. Тогда будет более глубокое понимание того, что собственно происходит в фреймворках (особенно в симфони) когда будете писать блог на двух разных для выбора. Не знаю как yii, но в Symfony2 паттерны на каждом шагу и без их понимания часть кода может казаться (а для конкретных задач и быть) излишней.
Чтобы использовать чужой код, паттерны не обязательно знать. То что в симфони используют паттерны, значит совсем не то что их тоже надо использовать при работе с ней, достаточно будет изучить апи фреймверка и работать с ним.
Кто как, а я предпочитаю понимать, что Yii и Symfony2 используют MVC, но для работы с моделью Yii по дефолту предоставляет ActiveRecord, а Symfony2 — DataMapper и UnitOfWork. Можно, конечно, API зазубрить без понимания почему он именно такой, но с пониманием, по-моему, эффективней работать получается…
Понимать как работает, и работать — не одно и то же. Водители, от того что понимают как работает двигатель внутреннего сгорания, и как собрана электрическая цепь в машине лучше водить не станут.
@taliban
Водители может и не станут, а вот автомеханикам такие знания нужны 100% ))
В целом согласен, надо изучить ООП, чтобы нормально работать с фреймворками. В конце концов, с течением времени наверняка придется разрабатывать свои модули/бандлы/как-их-там-еще-называют.