Статьи

Лучшие PHP фреймворки на 2014 год

Обновление. Если вы хотите принять участие в следующем высокопроизводительном опросе SitePoint, проголосуйте за свою любимую среду IDE здесь . Цель опроса — оценить сообщество PHP и найти самую популярную IDE, используемую сегодня, по полу, местоположению, уровню квалификации и многому другому.

Конец года на нас. За последние 365 дней в мире PHP многое изменилось, и сцена фреймворка PHP переполнена как никогда. Кажется, что каждый и его собака имеют представление о том, как должна выглядеть хорошая структура, но в конце концов, знаем ли мы, какие структуры в действительности используются в производственных проектах? Сколько из них выходят за рамки тысяч людей, просто делающих в них демонстрационное приложение?

В небольшом опросе, который мы провели на прошлой неделе или около того (который также упоминался в PHP Weekly ), мы задали эти вопросы, чтобы решить, какие платформы заслуживают нашего внимания больше всего в 2014 году. Обязательным условием для участия было просто иметь опыт работы более чем в одной структуре, поскольку бессмысленно спрашивать кого-то, какой у них любимый бар, если они пили только в одном месте.

К сожалению, большой процент ответов пришлось отбросить из-за того, что люди либо отказывались от представления о том, что WordPress и подобные комплекты не являются фреймворками, либо просто из-за вопиющего игнорирования инструкций — многие ответы были написаны людьми, которые когда-либо работали только в одна структура. Несмотря на то, что их энтузиазм в отношении этих рамок выбора заслуживает внимания и достоин восхищения, конечный результат, который может оказаться искаженным такими подходами, вряд ли можно назвать объективным.

Сводка результатов

После отбрасывания недействительных ответов и проверки каждого участника вручную мы получили следующие данные:

диаграмма

Согласно результатам, наиболее многообещающими рамками на 2014 год являются:

  • Laravel
  • Phalcon
  • Symfony2

Yii и CodeIgniter, похоже, делят 4-е место.

После устранения явного спама результаты Laravel пришлось отфильтровать больше всего. Более половины людей, проголосовавших за Laravel, не имели доказательств мастерства или опыта только с Laravel, и их пришлось отбросить — несмотря на это, оно все еще преобладало.

При рассмотрении ответов в среднем сообщество Laravel, по-видимому, в основном предпочитает простоту вступления — практически нет кривой обучения. Хорошо это или плохо — это обсуждение в другой раз, так как мы оказались в этом беспорядке «PHP — это плохо», в основном из-за орды новичков, считающих, что их легко выйти на рынок, но отличной документации, крупномасштабной поддержки сообщества и Скорость развития определенно работает в свою пользу. Другим часто упоминаемым преимуществом является активный и впечатляющий канал IRC, где помощь предоставляется немедленно.

Интересным заблуждением кажется то, что Laravel отвечает за Composer. Многие избиратели, как отклоненные, так и действительные, упоминают Composer как главное преимущество Laravel, наряду с Eloquent ORM и механизмом шаблонов Blade, что странно, поскольку Composer — менеджер пакетов, совершенно не обращающий внимания на среду, с которой он используется, если таковой имеется. , Для получения дополнительной информации я настоятельно призываю участников прочитать некоторые из наших статей Composer, например, эту . Несмотря на все это, только попробовав Laravel в демо-проектах, результаты этого опроса пробудили у меня интерес к созданию моего следующего производственного проекта на базе HHVM.

Основным преимуществом Phalcon была производительность по сравнению с другими фреймворками и тот факт, что фреймворк представляет собой такой округлый пакет (ORM, шаблонизатор, PHQL и многое другое — все в одном — практически нет необходимости в сторонних библиотеках, то есть все остается в памяти, С и супер быстро). Некоторые из респондентов отметили тот факт, что он установлен как расширение как преимущество, потому что процесс установки отсеивает любителей от серьезных разработчиков, с чем я лично склонен согласиться. Говоря о минусах, самым большим преимуществом Phalcon было и его самое большое преимущество — будучи написанным на C, проверить это практически невозможно.

Symfony2 рекламируется как самый модульный и расширяемый из множества, и наиболее полнофункциональный, в основном благодаря Doctrine2. Избиратели, однако, похоже, в состоянии признать, что он довольно раздутый и иногда медленный из-за этого богатства функций.

Интересно, что в двух ответах ZF1 говорится, что они застряли на упомянутой платформе из-за рабочей ситуации — их команда или технический директор отказывается переключаться на что-то более современное.

Интересные ответы

Среди правильных ответов вот некоторые достаточно подробные, чтобы гарантировать перепост:

Наварр говорит:

Встроенные в Yii системы ActiveRecord и системы миграции упрощают управление версиями базы данных и разработку с использованием объектов. Это займет немного времени, чтобы учиться, но потом становится очень простым — оно становится достойным своего тезки «Yii» — китайский для «easy»

@amitgupta говорит:

Я использовал CodeIgniter в течение многих лет, но в конечном итоге пришел момент, когда он не предлагал то, что мне нужно. Мне потребовалось несколько полностью интегрированных стековых фреймворков (так что микро-фреймворки, такие как Slim, Silex, отсутствовали) с небольшой кривой обучения или вообще без нее (так же, как CI), которая имела аккуратный и чистый интуитивно понятный API, твердый код, написанный на проверенных шаблонах проектирования, который не я не мог связать меня одним мышлением, которое было быстрым и имело хорошую документацию, позволяло без проблем работать с TDD и которое было хорошим сообществом и доступными ресурсами. Также тот, который позволил мне легко заглянуть под капот, чтобы я мог видеть, что происходит, где (что исключило Phalcon, так как его источник находится в C). Laravel & Symfony подошли очень близко, но в итоге я пошел с Laravel, так как мне нравилось, как он делает больше.

panique не использует ни одного из перечисленных и говорит:

Большинство фреймворков просто слишком продвинуты, что затрудняет непрофессиональным разработчикам или внешним пользователям быстрое создание хороших вещей, поэтому я всегда искал голое и полностью урезанное базовое PHP-приложение. php-mvc решает эту проблему и сокращает время обучения до 30 минут, оставаясь при этом очень профессиональным и самоочевидным.

+ Джрим говорит это о Фальконе:

Предоставляет все основные компоненты, необходимые для быстрой и красивой работы ORM. Он многофункциональный, безумно быстрый и имеет потрясающую документацию.

Крис Томпсон доказывает, что экспозиция и имя много значат в мире PHP, сказав это о своем выборе ZF2:

Я был уже знаком с ZF1 из предыдущего проекта. ZF2 казался наиболее логичным для нашего следующего проекта. У нас не было опыта работы с большинством других фреймворков. Те, о которых мы знали, имели меньше документации, примеров и онлайн-справки (stackoverflow), чем ZF2.

Питер Найссен объясняет:

Работаю с CodeIgniter 4 года. Всегда подходил мне хорошо, и я написал несколько искр для этого. Всегда была хорошая быстрая структура для начала. Легко использовать. Поскольку CodeIgniter больше не использовался, а PHP сделал несколько важных шагов, я связался с Laravel. Сразу влюбился в него и до сих пор люблю его до этой даты. Фреймворк, который отлично работает и очень удобен для разработчиков. В моей повседневной работе мы переносим все с CodeIgniter на Symfony. В личной жизни я бы выбрал Laravel, а в профессиональной жизни — Symfony. Laravel более дружественен к разработчикам и позволяет легко развиваться. В настоящее время Symfony дает мне больше уверенности в том, что они зарекомендовали себя уже в течение многих лет. Конечно, оба имеют сходство с Laravel, который использует части Symfony.

Thiago Colares выбирает TYPO3 Flow:

Архитектура готова для доменного дизайна. Внедрение зависимости. Использует Доктрину 2 ОРМ. Усовершенствованный шаблонный движок (Fluid). Сильное, активное, очень квалифицированное и полезное сообщество

Роб Кеплин говорит это о Фалконе:

Он использует преимущества других популярных фреймворков, таких как управление событиями, простой в использовании ORM, все это при продвижении DI и использовании новых функций PHP, таких как собственные пространства имен. Поскольку он построен как расширение, у фреймворка очень мало накладных расходов. Не говоря уже о документации делает для легкого обучения кривой. Единственный недостаток — мобильность, и я не могу копаться в коде библиотеки во время разработки. Но я очень рад, что он растет и становится все более популярным.

… И Шон М добавляет

Phalcon позволяет легко проектировать современные веб-приложения и затрудняет их неправильное проектирование. Используя прямой впрыск, тривиально легко создать программное обеспечение, которое полностью тестирует. ORM, который делает разумный выбор по умолчанию и является чрезвычайно расширяемым и настраиваемым, множественные стратегии кэширования и встроенные библиотеки БД для множества помощников, позволяющих легко масштабировать по горизонтали. Добавьте к этому огромный выигрыш в скорости и простое использование памяти, реализованное с помощью совместно используемой библиотеки, написанной на C, для всех ваших запросов, и вы получите стек, с которым приятно работать и абсолютную рабочую лошадку в производстве.

@DwightConrad о Laravel:

Laravel использует надежные, проверенные компоненты платформы Symfony вместе с другими популярными пакетами, чтобы обеспечить современную среду, которая обеспечивает простые соглашения, использует современные шаблоны программирования и делает разработку быстрым. Приятно видеть, что PHP используется в качестве современного языка программирования со структурой, которая берет подсказки от некоторых громких имен за пределами сообщества PHP.

Stanlemon одобряет Symfony2:

Архитектурно я предпочитаю Symfony 2. Я думаю, что его попытка компонентизации восхитительна, и общий подход к пакетам блестящий. Временами он может ощущаться раздутым, но иногда мне бы хотелось, чтобы он был более самоуверенным, но в целом он представляет собой единственную среду с полным стеком, которая позволяет мне делать все так, как я хочу. Использование Doctrine 2, Twig и Monolog и мощный подход к функциональному тестированию являются лишь дополнительным стимулом для его использования.

Выбор редактора

Не секрет, что я фанат Phalcon. Я использовал Zend 1 и 2 в крупномасштабных корпоративных проектах в течение многих лет, и я проводил время с CodeIginter. После тестирования (без коммерческого опыта) всех фреймворков в списке, я пришел к выводу, что в глубине души они все невероятно похожи (за исключением Zend, который просто выделяется, как больной большой палец). Именно после этого осознания я перенаправил все свое внимание на соотношение производительность / надежность и нашел Phalcon. Phalcon в достаточной степени освещался в предыдущих статьях — достаточно сказать, что наличие такой блестящей быстрой среды, предварительно загруженной в память, творит чудеса для ваших облачных счетов (используете ли вы AWS, Azure или любые другие — часы экземпляра восхитительно сбрасываются — подробнее об этом в следующей статье).

Тот факт, что его сложнее установить, чем другие (и почти невозможно в общих средах), также гарантирует, что сообщество является хардкорным, заполненным до краев людьми, которые действительно заинтересованы в нем достаточно, чтобы не увязнуть в основах. Это означает более сплоченную группу, но гораздо более осведомленную.

Вывод

Итак, какие рамки кажутся наиболее перспективными на 2014 год? На что вам стоит перейти в новом году? Стоит ли оно того? Это зависит только от вас — как всегда, это зависит от вашего уровня комфорта, требований проекта и времени, которое вы должны изучить новые вещи.

Единственный неправильный выбор — ограничивать себя только одной структурой. Разнообразить, поэкспериментировать, внести свой вклад. Выйдите из своей зоны комфорта и попробуйте что-то новое — другого пути нет. Возможно, в следующем году вы будете голосовать по-другому!

Я хочу лично поблагодарить вас за участие в опросе и за то, что вы наши читатели. Мы надеемся, что в 2014 году мы представим вам все больше и больше интересных статей и с нетерпением ждем возможности поделиться с вами знаниями наших замечательных авторов. Вся команда здесь, в SitePoint, желает вам счастливого Нового года и веселых праздников! Увидимся через горб!

Заинтересованы в переводе своих навыков PHP на новый уровень? Обучаемые членства имеют неограниченный доступ к книгам и курсам SitePoint, охватывающим темы PHP от MySQL до объектно-ориентированного программирования.