Какой фреймворк выбрать для обучения?

Здравствуйте.
Очень холиварный вопрос.
Нужно в сжатые сроки, освоить какой-то из php-фреймоворков. Под "освоить" я понимаю разобраться в базовых вещах архитектуры, чтобы можно было начать писать более-менее "правильный" код.
Сейчас имеются: начальные знания php, понимание OOP, MVC по опыту программирования на других языках.
Собственно вопрос: какой взять?
Колеблюсь между yii, laravel, может codeigniter.
Критично: порог входа, т.е. время на "вьезжание" в архитектуру.
Предстоит проект, который я оцениваю как нечто среднее между малым и средним по величине (очень субъективная оценка)
Буду признателен за ответы от недавних новичков. "Зубрам" тоже буду благодарен)).
  • Вопрос задан
  • 3277 просмотров
Пригласить эксперта
Ответы на вопрос 13
NikitaRain
@NikitaRain
Full-Stack Developer.
Что бы выучить действительно стоящий фреймворк, советую Symfony. После его изучения переход на Laravel будет спокойный и не сложный, а он на данный момент самый популярный.
Ответ написан
@Fortop
Tech/Team lead
Берите микрофреймворки Slim, Zend Expressive

У вашего "быстро выучить" есть большой подвох, что вы и останетесь на том что выучили.

Потому что такие фреймворки как laravel, yii провоцируют писать не очень хороший код.
Ответ написан
Во-первых, имейте в виду, что советовать вам будут всегда свой любимый фрейм.
Во-вторых, CI вычеркните.
В-третьих, Laravel 5 намного лучше Yii2 (см. "во-первых" : )
3.1. Дока на русском однозначно лучше: https://laravel.ru/docs/v5/quickstart
3.2. Есть роскошный стартовый видео-курс на русском же: https://www.youtube.com/watch?v=IpfVvIYkcPA
3.3. В нём намного меньше магии, что могло бы означать, что на Yii разрабатывать быстрее, но как вы, видимо, понимаете (ибо опыт программирование имеете) - магия хороша для базовых вещей, но привносит много хлопот, когда нужно контролировать свой код.

И ещё один момент:
Максим Тимофеев писал:
yii или laravel [...] одинаково хороши

Проблема в том, что они совсем по-разному хороши :)
Ответ написан
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Если сроки сжатые - yii2. Так как из всех самая хорошая документация и куча гайдов, обучалок и т.д. Ну и русскоязычное сообщество круче.
codeigniter конечно проще в целом, но тут возникает вопрос, а нафиг его знать если есть yii и laravel.

Так что по поводу что лучше yii или laravel холивар будет точно, хотя как по мне они одинаково хороши. И дело скорее вкуса. Но вот то что в обучении с yii2 будет попроще, думаю согласятся даже "свидетели laravel-я".
Ответ написан
glebovgin
@glebovgin
Full Stack Web Developer
А я бы как раз CI и порекомендовал при условиях "сжатые сроки" и "критично: порог входа, т.е. время на "вьезжание" в архитектуру.".
Ответ написан
Комментировать
@novrm
Представьте, что вы пришли в большую университетскую библиотеку и говорите: "Я желаю в кратчайшие сроки стать самым-самым главным библиотекарем это библиотеки, Желаю знать структуру библиотеки, разделы, все книги, все книги по разделам, ориентироваться во всех авторах, их деятельности, жанрах... А также знать всех читателей, их нравы, повадки и приоритеты... Также нужно мне обладать информацией об связях библиотеки с другими учреждениями, быть в курсе лекций, симпозиумов, конференций"...
И все это в кратчайшие сроки ибо время поджимает.
Понимаете ли вы тогда, что некоторые люди к этому идут не один год?

Теперь по существу.
Symfony - самый тяжелый в изучении, и рекомендовать его начинающему я бы не стал.
Zend Framework - тот же Symfony но с меньшим набором "плюшек" и меньшим сообществом. Порог вхождения - легче.
Lavarel, Yii - легкое вхождение за счет уже готового кода, что сыграет с вами потом плохую шутку. Ибо любой framework по замыслу программистов - это минимальный скелет, на который вам нужно самостоятельно наращивать мышцы...

Еще короче - выбирая framework вы оказываетесь в ситуации дистрофика, которому нужно выиграть на конкурсе Мистер Юниверс.

Спросите сто раз нужно ли вам это.
Ответ написан
Комментировать
@Skit25
на всё воля Бога
Однозначно codeigniter. Он не такой крутой как например Laravel, но зато уровень вхождения у него ниже.
Я с ноля учился программированию, важно было видеть примеры использования когда. Это для меня было самым главным.
На модных фреймворках, надо тебе грид с фильтром сделать, в доках есть, вот тебе метод. Потом ищешь как его использовать, а через год, какой-нить кулхацкер тебе секреты паттернов в гриде раскрывает. Естественно в доках ничего нет, ты же программист. У CI ситуация другая, там примеры в доках есть, делаешь свое дело, доки в помощь.
Я выбрал Zend сперва, чтобы сразу, потом попробовал Symfony, в итоге освоить удалось CodeIgniter.
Сделал на нем интернет магазин. Документация у него шикарная, на формуе всегда помогали.
Как сейчас не знаю, уже лет пять с Yii работаю. Но это codeigniter меня работать с фреймворками научил.
Ответ написан
Комментировать
dkrylov
@dkrylov
Codeigniter не трогайте, он не сложный, но не такой крутой как yii2 или laravel или symfony.
Symfony вообще громадина, тоже не трогайте - это не про сжатые сроки.

Вообще я бы посоветовал yii2, думаю Вы не пожалеете.
Ответ написан
Комментировать
nurba91
@nurba91
Копатель
laravel . symfony порог вхождение по более будет
Ответ написан
Комментировать
@almassar
web программист
У меня в laravel само сложное было это dependency injection. Внимательно изучите этот паттерн. На Youtube есть хороший урок, поищите на этом канале .
А все остальное легко понять из официальной документации.
Ответ написан
Комментировать
@errogaht
PHP developer
Laravel 100% с ним всё запускается с пол оборота, с другими фреймворками например симфони или yii вам придётся с бубном танцевать чтобы просто их запустить и начать разрабатывать, для старта лара супер просто.
Ответ написан
Комментировать
naghtigall
@naghtigall
Дизайнер и разработчик сайтов
Существует Silex (от создателя Symfony) - основан на компонентах Symfony. Т.е. в дальнейшем развитии сможете работать и в Symfony
Хотя в свое время в мир фреймворков я входил через Codeigniter
Ответ написан
Комментировать
copist
@copist
Empower people to give
Свой собственный
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы