butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Какой фрэймворк учить и по каким мануалам?

Господа, помогите выбрать фрэймворк.



  • Yii
  • Symphony
  • codeinteger
  • Zend
  • CakePHP
  • Kohana




Какой наиболее востребован среди работодателей?

Какой проще и лучше всего по вашему мнению?



К примеру cms joomla востребована, но это ад и дурной тон. Поэтому я разделяю два понятия, как «востребовано» и «лучше».



Ну и собственно хочется мануалов, которые вы порекомендуете для изучения.



Сам склоняюсь к zend, yii или symphony. Но хочу выслушать Ваше мнение, как гуру в этой области.
  • Вопрос задан
  • 25219 просмотров
Пригласить эксперта
Ответы на вопрос 23
@egorinsk
CakePHP уродливый внутри и давно устарел. Сейчас все юзают Yii. Kohana — не самостоятельный фреймворк, а улучшенная версия CI. Symphony — вроде тяжелый и оверинженеренный монстр, который включает в себя неуклюже скопированный из Java ORM.

Есть также мнение, что лучше всего было бы вообще перейти с PHP и недофреймворков на что-то серьезное, например Java (Гугл использует Java и С++ для своих сервисов, например) или хотя бы python, если яву не осилить.
Ответ написан
taliban
@taliban
php программист
Вы правильно склоняетесь, причем учите три, делайте на них одно и тоже и в итоге будете знать разницу, а знать разницу более ценно нежели уметь что-то делать.
Ответ написан
Комментировать
antonydevanchi
@antonydevanchi
10 лет в айтишке
Все зависит от потребностей. Если вам надо понять какие то основы, так сказать «въехать», то можно пару месяцев повозиться с CodeIgniter, но делать коммерцию на нем — не совсем лучшее решение, а потренироваться можно. Очень хорошие доки, правда чуть устаревшая версия на русском, но думаю английский не проблема?

Я сам использую Yii и тащусь от него круглые сутки. Мощный, гибкий, юзает возможности нового PHP и пр. Очень хорошее русское коммьюнити и документация: yiiframework.ru/

На мой взгляд Zend слишком тяжел для новичка, его осознание занимает годы.
С Symfony я не работал и ничего не могу сказать. По слухам так же легок как Yii и могуч как Zend.
У Kohana серьезные проблемы с документацией — мелочь и базу найти легко, а вот что то более менее сложное — хрен сыщешь.
CakePHP — дохлый проект. Лучше уж CodeIgniter. Кстати на него большинство сбежало с Cake.
Ответ написан
Комментировать
ajaxtelamonid
@ajaxtelamonid
Laravel
Однозначно отказать — cakephp и codeigniter
Скорее всего отказать — zend
Остальное — дело вкуса. Yii неплох, но он на любителя. Мне, например, совершенно не пошел.
Kohana очень неплохой фреймворк, но у него очень плохо с документацией, плюс тот рефакторинг, который затеяли в последнее время не внушает надежд на устойчивое развитие. Не хочется новичку его советовать. Хотя, повторюсь, фреймворк мне очень и очень нравится.
Symphony2 — это то, что сейчас находится на острие развития php-фреймворков. Из данного списка я выбрал бы его.

Но хочу предложить вам альтернативный вариант — Laravel, laravel.com
Он замечательно документирован, написан с нуля год назад, с учетом косяков старых фреймворков и полезных фишек из RoR, у него бодрое, грамотное, хоть пока и не очень многочисленное комьюнити, по нему есть туториалы и даже уже написана книга — daylerees.com/category/laravel-tutorials/. Правда, в рунете он практически неизвестен.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
я использовал Yii с момента выхода 1.0. Это очень удобный фреймворк на котором можно развернуть что-либо достаточно быстро. К сожалению, с простотой использования приходят проблемы. А именно — нулевое комьюнити, быдло-разработчики и т.д. Сами расширения для фреймворка очень отличаются друг от друга не только по качеству, но и по реализации. Мне допустим не понятно зачем нужна такая большая иерархия компонентов, виджетов, расширений… Да и грядущая ветка Yii 2 особо погоды этому фреймворку не делает. Так что, как это не печально, перспектив у него мало. Только для начинающих было бы полезно его знать.

Zend не люблю с первых версий, и это сугубо субъективно. Это довольно качественный фреймворк (только с версии 2.0) который было бы полезно потыкать.

По работе пришлось сменить уже привычный Yii 1.* на Symfony 2. По началу я плевался от всех этих «по феншую». Необходимость на каждую пропертю в модели писать свой геттер/сеттер (использую в связке с Doctrine2). Но сама концепция «компилируемый» php мне очень нравится. Аннотации (к слову, очень жаль что тикет с просьбой добавить их нативно убрали), контейнер зависимостей и прочее делают разработку более элегантной. Как уже говорили выше — этот фреймворк просто заставляет писать хорошо (хотя плохо написать очень даже возможно). Если сравнивать качество решений для этих трех фреймворков, пожалуй пока лидирует Zend, но решение для оного легко переносятся на Symfony.

На данный момент самый перспективный фреймворк — Symfony 2 (причем сразу можно брать на изучение 2,1). Остальные же — тоже довольно интересны и познавательны, но я к ним по своей воле уже не вернусь.
Ответ написан
miraage
@miraage
Старый прогер
Дополнение по рельсам: http://railsforzombies.org/.

Из PHP — имхо или Yii, или Symphony2.
Ответ написан
Комментировать
Anton_from_Amber
@Anton_from_Amber
Yii по его родному переведённому мануалу. Можно пойти по другому пути: посмотрите какие готовые демо-проекты есть в обойме каждого каркаса, выберете тот, который ближе всего к вашему роду деятельности, разбирайтесь с примером и сразу же решайте свои задачи.
Ответ написан
Комментировать
@nuclear
Symfony.
Хотя бы за то, что он принуждает, не всегда умелых, PHP-разработчиков использовать правильные архитектурные решения и ООП.
А еще можно понаподключать бандлов и наслаждаться результатом :)
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
Учите symfony и zend, у них самая красивая архитектура. Для работы можно использовать Yii, архитектура в нём менее красивая, зато очень удобная. Хотя, symfony сейчас номер один, вот только генерация кешей напрягает, мы всё же не джависты, чтобы пить кофе между запусками.

Ой, кстати, ООП я учил как раз по java паттернам типа java.sun.com/blueprints/corej2eepatterns/Patterns/, проблем с пониманием их php-шниками никаких нет.
Ответ написан
Комментировать
Funcraft
@Funcraft
1. Полностью согласен с taliban.
2. Не согласен с тем, что для новичка Zend сложен. Лично мне, в нём было разобраться проще всего остального.
3. Вы задали холиварный вопрос, поэтому ответы скорее не информативные, чем полезные.
4. Про работодателей могу сказать следующее: поработал в 4 местах. В 3 из них было совершенно всё равно, какой фреймворк ты знаешь. В 1 взяли только потому, что знал Zend. Т.е. см. пункт 1.
5. «Проще» и «лучше» — разные вещи, не стоит их мешать. «Лучше» — на мой взгляд, понятие относительное, т.к. для разных задач «лучшее» будет разным.
6. По поводу документации и мануалов — точно могу сказать про Zend — информации более, чем достаточно. По Yii давненько не смотрел, но когда смотрел, адекватная инфа была только на английском — если нет проблем с языком, то смело в бой. У Symfony, насколько я в курсе, документации также навалом.
7. Попробуйте как можно больше фреймворков и языков — везде есть интересные, разумные, эффективные решения, которых нет в других аналогах.
8. Изучите смежные темы (паттерны проектирования и т.п.) — проще будет и в фреймворках разбираться.
Ответ написан
Zharskiy
@Zharskiy
обидно за CakePHP — он самый компактный, простой и быстрый
ближе всего к RoR — проще всего переходить

развивается!
Ответ написан
Комментировать
patashnik
@patashnik
Zend 1 уже не стоит, скоро перестанет поддерживаться.
Zend 2 пока рано, он ещё в стадии beta и очень мало документации.
Symfony2 — хорошая документация, туториал и cookbok. Плюс достаточно большое количество бандлов (плагинов).
Ответ написан
Комментировать
neoksi
@neoksi
Я наверное старой закалки, но не вижу смысла использования Фреймворков при программировании на PHP. Только если это необходимо работодателю.

Если говорить вкратце, то использование фреймворка увеличивает компилируемый и исполняемый код. В следствии чего, при высоких нагрузках на ваше приложение, вам потребуется большие ресурсы сервера.
Ответ написан
sl4mmer
@sl4mmer
Рекомендую Yii. Легкий, быстрый, простой в освоении и использовании
Ответ написан
Комментировать
@vladar
Symfony2, конечно, на острие. Но работая, не покидает ощущение, что этот фреймворк совсем уж java-style. И по-большому счету это неправильное использование PHP, как инструмента.

Ну вот как автомобиль с реактивным двигателем. Вроде едешь быстро и даже нравится, но всё «терзают смутные сомненья» :)

Не у меня одного подобное отношение к sf2.
Ответ написан
Комментировать
dohlik
@dohlik
Я вовсю пропагандирую Kohana )) ИМХО, фигня насчет документации.

Официальный мануал на английском
Неофициальная вики (сборник рецептов)
Отличный форум (в том числе и русская ветка)
Куча русских мануалов (kohana3.ru, kohanaframework.su, 101.brotkin.ru) и блогов

По поводу рефакторинга — ну он же в правильном направлении идет )) Тем более, что последняя ветка (3.3, еще пока RC) ИМХО достаточно красиво выглядит, чтобы этот самый рефакторинг на ней закончить.
Ответ написан
Комментировать
Изучил бы на вашем месте Yii и Symfony 2 (плюс Silex :) ), а дальше выбирал бы под задачи, примерно так: Silex для простейших (типа форму обратной связи на статический сайт прикрутить) или очень нестандартных задач (от фреймворка по сути требуется гибкий роутинг), Yii для «ширпотреба», Symfony 2 для сложной бизнес-логики, которая вероятно будет постоянно меняться.
Ответ написан
Комментировать
@Spaz
Cудя по devtrends.net
самые популярные у работадателей это Zend, Yii и Symphony.
Ответ написан
Комментировать
justyork
@justyork
Изучал Yii, Kohana, CI. Во основном если используют проекты, то это Yii, потом Kohana, на Ci очень мало проектов встречал, может просто не везло. По функционалу радует больше Yii.
Ответ написан
Комментировать
alexber127
@alexber127
Большинство вещей пишу на CI. Шустрый, мощный, гибкий. Сколько не возился с другими, CI выигрывает практически во всех отношениях.
Один из последних проектов www.globalwave.tv соц.сеть. На стадии доработки.
Правда шаблонизатор пришлось свой писать. Основная причина выбора, это конечно производительность этого фреймворка.
Вот к примеру тесты: habrahabr.ru/sandbox/48275
Ответ написан
Комментировать
@MrMi
Учите Kohana!
Очень продуман и грамотно сделан, понятно закомментирован. В отличие от того же yii.
Собственно можно зайти в любой ядерный класс и посмотреть как он работает или переписать.
Ещё из плюсов - не большой и быстрый, но можно наворотить модулями ( коих огромное количество только официальных, а не официальных .... много).
В общем если вы любите "прямые" вещи - вам в Kohana.
Для начинающих : kohanaframework.su/starting
Но там есть неточности - обучение для версии 3.2.
В 3.3 есть отличия в частности имена файлов классов контролеров (и моделей, хотя для моделей не критично) должны начинаться с заглавной буквы.
Так как фреймворк был отдан фирмой разработчиков в свободное плавание сообществу - ожидается резкий скачёк улучшений и обновлений! (ну это оценят крутые-продвинутые разработчики приложений)
Ответ написан
Комментировать
TrueDrago
@TrueDrago
Если хотите быть нормальным спецом, учите сразу Symfony/Zend/Laravel - там поймете и что такое SOLID, и про DI, и в целом как паттерны использовать. Да, будет тяжело, но потом скажете спасибо.
Yii, по крайней мере 1-й, это ад для адекватного разработчика, который пишет что-то сложнее бложика. Хотя, судя по отзывам Yii 2, хоть и лучше стал, но все равно не достает по продуманности до вышеперечисленных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы