yii или laravel что лучше

Какой PHP-фреймворк выбрать: сравниваем Symfony, Laravel и Yii2

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

В этой статье рассматриваются три наиболее популярных PHP-фреймворка: Symfony, Laravel и Yii2. Автор сравнивает их возможности и пытается помочь читателю выбрать лучший инструмент. Статья предназначена для начинающих разработчиков, которые ещё не работали с PHP-фреймворками.

Зачем нужен PHP-фреймворк

PHP — один из самых популярных и востребованных языков программирования. Его активно используют крупные проекты, например, Facebook и «ВКонтакте». На PHP написаны популярные системы управления контентом (CMS), в том числе WordPress. На этом движке работает около трети всех сайтов в интернете и около 60 % сайтов на CMS.

PHP развивается, а версия 7 сделала этот язык стабильным. В таком случае, зачем нужны фреймворки и почему их часто используют вместо нативного языка? Вот несколько причин:

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

Полезная информация Почему Django — лучший фреймворк для разработки сайтов: статья о характеристиках и особенностях популярного веб-фреймворка.

Как выбрать PHP-фреймворк

Выбрать фреймворк помогут ответы на следующие вопросы:

Symfony, Laravel и Yii2

Перед погружением в детали коротко рассмотрим главные особенности наиболее популярных PHP-фреймворков. Это Symfony, Laravel и Yii2.

Symfony

Symfony представляет собой набор PHP-компонентов, которые подходят для повторного использования. Фреймворк позволяет делать масштабируемые и производительные приложения. API Symfony интегрируется со сторонними приложениями, а также с инструментами для фронтенд-разработки, например, Angular JS.

Symfony используют многие популярные проекты, например, Drupal и phpBB. Даже самый популярный PHP-фреймворк Laravel построен на основе Symfony.

Laravel

По состоянию на середину 2019 года это самый популярный PHP-фреймворк в мире. Текущая стабильная версия — 5.8.10. Популярность Laravel подчёркивает следующий факт: многие хостеры предлагают специальные решения для приложений, созданных с помощью этого фреймворка.

Yii был представлен в 2008 году. Это безопасный, быстрый и производительный фреймворк для разработки веб-приложений. Текущая версия — 2.0.19.

В Yii2 используется пакетный менеджер Composer для управления зависимостями. Благодаря ленивой загрузке Yii2 считается самым быстрым PHP-фреймворком.

Ещё одна особенность Yii2 — интеграция с jQuery. Благодаря этому фронтенд-разработчикам удобно работать с приложениями, созданными на Yii2. Как и в Symfony, в Yii2 используются готовые компоненты. Это ускоряет разработку.

Какой PHP-фреймворк лучше

Все перечисленные фреймворки подходят для разработки веб-приложений. Однако у этих инструментов есть отличия, которые разработчик должен учитывать. Подробности ниже.

Шаблонизаторы

Шаблонизаторы ускоряют разработку и упрощают создание фронтенда приложения. Например, с помощью шаблонизаторов решается задача автоматического экранирования HTML.

Symfony

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

Laravel

Этот фреймворк не использует сторонних шаблонизаторов по умолчанию. Но разработчик может выбирать инструменты в зависимости от решаемых задач. В число рекомендуемых шаблонизаторов входят Twig и Smarty.

Промежуточный вывод: по данному критерию чистого победителя нет. Все фреймворки поддерживают работу с шаблонизаторами, что ускоряет разработку фронтенда приложений. Небольшое преимущество имеет Yii2, так как в нём не используется какой-либо шаблонизатор по умолчанию.

Изучайте Laravel на Хекслете Курс по Laravel входит в профессию «PHP-программист». Первые курсы в профессии доступны бесплатно после регистрации.

Модульность

В Symfony есть стандартные компоненты, которые можно использовать для создания приложений. То есть Symfony — отличный пример модульного фреймворка.

В Yii2 реализован подход MVC. В этом фреймворке тоже есть компоненты, однако модульность реализована не так хорошо, как в Symphony.

Laravel уступает Symfony и Yii2 в возможности использовать модульный подход для разработки приложений.

Промежуточный вывод: если вам нужен модульный PHP-фреймворк, выбирайте Symfony.

Установка

Каждый фреймворк поддерживает несколько вариантов установки. Например, Symfony, Laravel и Yii2 можно установить с помощью пакетного менеджера Composer. Все фреймворки после установки позволяют работать с шаблонным приложением.

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

Скорость разработки

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

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

Производительность

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

Производительность Laravel — дискутабельный вопрос. По этому критерию он уступает Yii2 и Symfony. Тем не менее в сети можно найти много рекомендаций по ускорению приложений на Laravel.

Поддержка баз данных

По этому критерию бесспорным лидером становится Symfony. Yii2 и Laravel отстают. Конкретную информацию можно увидеть в таблице.

LaravelYii2Symfony
Microsoft BIMicrosoft BIApache Jackrabbit
MongoDBMongoDBCouchDB
MySQLMySQLDynamoDB
PostgreSQLPostgreSQLGraphDB
RedisRedisMemBase
SQLiteSQLiteMemCasheDB
Microsoft BI
MySQL
MongoDB
NoSQL
Oracle
PostgreSQL

Сообщество и ресурсы

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

Важный момент — будущее фреймворка лучше оценивать не по статичной величине сообщества, а по его динамике и активности.

Если оценивать такой ресурс, как документацию и обучающие материалы, здесь лидером будет Laravel.

Расширяемость

Функциональность фреймворков увеличивается с помощью расширений или пакетов. По этому критерию лидером остаётся Laravel. В каталоге Packalyst можно найти около 9000 пакетов для Laravel.

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

Схожесть характеристик

Выше мы рассматривали разницу между фреймворками. Пришло время сосредоточиться на похожих характеристиках. Вот они:

Всё ещё не можете выбрать фреймворк? Вот тезисная информация, которая поможет определиться.

Заключение

Symfony, Laravel и Yii2 можно назвать отличными инструментами для разработки веб-приложений. Автор оригинальной статьи предпочитает Laravel. В то же время он считает Symfony и Yii2 не менее мощными инструментами. Особенностью Symfony можно назвать развитое сообщество, а особенностью Yii — надёжность и безопасность.

Пожалуйста, напишите в комментариях, какой PHP-фреймворк выбираете вы.

Адаптированный перевод статьи Michael J. Garbade How to choose a PHP framework. Мнение автора оригинальной публикации может отличаться от мнения администрации и сотрудников Хекслета.

Источник

Laravel или Yii2 что выбрать

Я соло разработчик. С 2009 года зарабатываю тем что делаю и развиваю сайты. В основном это контентные сайты на WordPress. Однако кроме контентных есть и крупные проекты где нужно создавать коммьюнити и WordPress для этого категорически не подходит. Также есть у меня и микросервисы, где текстовый контент не используется. Раньше сервисы я писал на CodeInteger, а когда он «приумер» начал искать ему замену. И, году в 2014, я начал использовать Yii. Тогда это был 1.1, если не ошибаюсь. Когда вышел Yii2 все проекты были переписаны на него, сейчас первую ветку не использую нигде. По сравнению с CodeInteger даже первый Yii был даже не шагом — прыжком вперед и вверх. Не было никаких сомнений после перехода (хотя разрабатывать микро! сервисы на CI безусловно легче). И на январском штиле решил попробовать Laravel. Сделал маленький сервис, залил его на snippets.azzrael.ru (просто для теста, это не юзерский сервис). По итогам этого теста и родилось желание написать заметку.

Зачем сравнивать Laravel vs Yii

Последние годы я много раз натыкался на сравнения Yii vs Laravel. Видел красивые графики востребованности фреймворков, где Yii обычно лихо проигрывает.

Простые поиски по yii vs laravel в феврале 2020 дали такие результаты:

Upwork.com : yii = 83 jobs, laravel = 822 jobs

hh.ru: yii = 247 вакансий, laravel = 259

Google Trends вообще показал что Yii никому за пределами России не интересен, да и в России интерес стабильно падает.

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

Каждому свое

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

Если кратко — Laravel мне весьма понравился. Если бы последние 6 лет я писал на Laravel и сегодня решил бы попробовать Yii2, то врядли бы я написал о нем в позитиве. В Laravel чувствуется бОльший потенциал и соответствие «духу времени». На нем можно вполне пилить стартапы со смузи и получать удовольствие. Буду ли я переписывать на него все свои проекты, как это было с CI, Yii1 на Yii2 — нет, не буду! Почему?

Почему останусь на Yii

Laravel хорошо подойдет команде. Удобные миграции, удобное отделение фронта от бэка (Webpack, шаблонизатор Blade), встроенный Laravel Homestead — все это поможет команде нормально работать. Но для соло это технологии которые только усложняют работу.

Мне не нужны миграции. Я в одно лицо прямо на проде меняю структуру в PhpMyadmin. Мне не нужно ничего никуда коммитить. Вся структура потом просто в модели.

Мне не нужен webpack и я не хочу ради него ставить npm с кучей зависимостей. Я не хочу в деве висеть с npm watch — меня вполне устраивает работать с дев версией ассетов и собирать их только в прод с помощью Yahoo compiller и простейшего bash скрипта.

Мне не понравились фасады из-за которых нужно танцевать с ide-helper, который будет генерить phpdoc и все равно не сгенерит их на 100%. Я так и не смог добиться автокомплита моделей и хелперов с шаблонах Blade, хотя во вьюхах Yii я просто подключаю нужный неймспейс и все автокомплитится.

Мне не понравился дебагбар Laravel, который выдает ошибку в компилированной вьюхе блейда и не возможно понять собственно что это за вьюха. И не возможность отдебажить Eloquent в SQL запрос включив в запрос байнды.

Шаблонизатор в PHP для меня вообще вещь не однозначная и холиварная. В мелких проектах ну не нужен он, хоть и прикольный.

Артизан, конечно, полезен своей универсальностью, но генератор Yii2 не заставляет тебя помнить команды и параметры — тут все на виду с кнопочками и подсказками.

Вообще Laravel сильно навязывает developers way, как мне кажется. Лучше чтобы разработка велась в стандартном окружении (Homestead, вагрант по сути), миграция+коммит, генерация стандартных роутов и русурсов и все это через артизан в консоли. Это не плохо, это наоборот хорошо в команде, где люди приходят и уходят, где нужно взаимодействие и понимание того что происходит в проекте. В Laravel нужно постараться чтобы сойти с Пути, в Yii2 этот путь нужно себе придумать и не забывать ему следовать, зато можно легко и быстро выкатывать в прод любую дичь.

В контексте вселенной дичь это плохо, но я тут деньги зарабатываю. 9 из 10 проектов занимают место на вдске полгода, после чего уходят в архив на год-два, после чего стираются без воспоминаний, так зачем усложнять? Те же проекты что выживают постепенно допиливаются, а с годами возникает желание их переписать (например как сейчас на Laravel).

Итого

В моем частном случае я не увидел необходимости не только переписывать старые проекты с Yii2 на Laravel (хотя в переписывании с Yii1 на Yii2, например, видел отчетливо), но и в принципе в смене стека.

Однако если вы про найм

То, на данном этапе, Yii выглядит как тупик. Складывается впечатление что с ним куда меньше перспектив в найме. Поэтому если вы хотите туда и выбираете что учить, то выбирайте Laravel (или лучше Symphony, но статья не про неё). Если же вы маленький стартап или инди и вам нужно скорее что-то выкатить, то подойдет и Yii2. Ну и ждем 3й версии Yii…

Источник

Ларавел против Йии

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

Разница между Laravel и Yii

Ниже приведены некоторые отличия Laravel от Yii:

Всякий раз, когда пользователь хочет выполнить проверку на основе сценариев, в Laravel нет доступных пакетов. Он не предоставляет никакой конструкции для проверки модели в различных сценариях. Yii может использоваться для назначения модели из параметров запроса, а также для ее проверки. Оба эти сценария можно управлять с помощью Yii. Вы можете настроить свой код согласно вашему требованию.

Для проверки на стороне клиента Laravel не поддерживает по умолчанию. Yii обеспечивает очень хорошую проверку форм на стороне клиента. Как только вы определите набор правил, его можно будет использовать как на стороне клиента, так и на стороне сервера.

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

Для панели администратора существует функция CRUD для различных таблиц, которые присутствуют. В Laravel нет поддержки по умолчанию для этого действия. У Yii есть специальный инструмент, известный как Gii, который предоставляет веб-интерфейс, в котором можно генерировать код в интерактивном режиме. В дополнение к этому, он также предоставляет интерфейс командной строки, который предпочитает работать в консольных средах.

У Laravel очень хорошо подготовленная документация. Он организован и написан в общем виде, так что каждый может его понять, а также хорошо усвоить. У Yii нет такой сильной документации, как Laravel. Используя документацию для Yii, вы можете легко начать с базового программирования и работать над ним.

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

Сравнение лицом к лицу между Laravel и Yii (Инфографика)

Ниже приводится топ-5 различий между Laravel и Yii: yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

Ключевые различия между Laravel и Yii

Оба Laravel против Yii являются популярным выбором на рынке; Давайте обсудим некоторые основные различия между Laravel и Yii:

Сравнительная таблица Laravel против Yii

Laravel

Основа сравнения между Laravel и Yii
ТребованияPHP 5.4 или выше

Расширение PHP JSON

Расширение MCrypt PHP

PHP 5.4 или выше
Реляционное сопоставление объектов ORMDAO

Шаблон ActiveRecord (Eloquent ORM) и Doctrine 2 через плагины

Объекты доступа к данным (DAO)

Шаблон активной записи (ActiveRecord) и доктрина 2 через плагины

тестированиеЗдесь тестирование должно быть готовым к работе PHPUnit с такими компонентами Symfony, как HttepKernel, DomCrawler и т. Д.Здесь тестирование требует только PHPUnit и Codeception.
миграцияДля миграции требуется класс миграции и инструмент заполнения данных.Для этого требуется только класс миграции.
КэшированиеОн имеет следующие компоненты для кэширования:

Memcached (в версии 5)

Он имеет следующие компоненты для кэширования:

Обе платформы Laravel vs Yii могут быть использованы в полной разработке стека. Они оба Laravel vs Yii хороши и плохи в своих областях. С этим Laravel в основном считается победителем между этими двумя. С этим Yii также обеспечивает надежную среду и большую безопасность. Следовательно, чтобы выбрать между двумя, это будет выбор разработчика по его требованиям и выбрать лучшее из двух.

Рекомендуемые статьи

Источник

Yii VS Laravel: за каким фреймворком будущее

Дисклеймер. В статье мы озвучиваем свое субъективное мнение, основанное на личном опыте и сравнительном анализе. Если вы не согласны, спецы Artjoker с удовольствием подискутируют 😉

Зачем мы приводим эту информацию? Она позволяет сделать выводы как заказчикам, так и исполнителям.

Рассмотрим обе стороны. Если вы программист и хотите быть востребованным, вам необходимо либо:

Если вы заказчик, вам стоит держать в фокусе несколько моментов:

Именно поэтому важно сравнивать фреймворки. Посмотрите на диаграммы еще раз. CodeIgniter можно смело исключить. Он некогда был на волне, а сейчас его вытеснили более прогрессивные решения. Большое количество заказов объясняется наличием проектов, которые нуждаются в саппорте. Со временем владельцы сайтов переедут и спецы по CodeIgniter останутся без работы.

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

Разработка отдельных проектов ускорится в среднем быстрее на 10% (из личного опыта).

*- относительный параметр (из личного опыта).

Когда речь заходит о надежности и Yii, и Laravel стоят на равных. Фреймворки обеспечивают безопасность на нескольких уровнях (включая пароли, аутентификацию, SQL-инъекции, кросс-сайтную подделку запросов, скрипты сайта и т. д.)

Если же останавливать свой выбор на чем-то одном, то мы бы советовали Laravel. Специалистам Artjoker приходилось поддерживать проекты на обоих фреймворках, но с Laravel на реализацию дополнительного функционала уходит меньше времени. Аналогично с поиском багов. На наш взгляд, все дело в лаконичности.

На хабре этот мусор бы заминусили конечно). В статье фреймворк рассматривается ни как инструмент, а как тренд. Но особенно доставило сравнение Laravel и Yii2.

новые версии выходят редко;

За это его и выбирают разработчики и команды. Ежегодные релизы новых версий, ломающие обратную совместимость — это боль для разработки.
склеенные библиотеки фронта и бэка;

В большинствах модулей с бекендом и фронтендом можно (в шаблоне Advanced) замапить в конфигах и разделить фронт и бэк части.
недостаточно гибкий процесс формирования роутов.

Не хуже чем в Laravel. И группировка есть и фильрация, нормализация роутов. Динамические роуты и кастомные классы обработчики тоже можно реализовывать.
редко выходят новые релизы.

Про это уже было.. Исправления безопасности и некоторые улучшения в yii2 выпускаются регулярно и это главное. А мажорные сырые релизы каждые полгода, исправляющий одни баги и добавляющий другие не нужны. Это не преимущество.

Из этого можно сделать вывод, что автор что то видел в Laravel и где то слышал про Yii2. Никакой объективности в этой статье нет. Статья — мусор!

Источник

Laravel или Yii — на чем лучше на данный момент начинать разработку сайта? В чем отличия?

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

На данный момент понял, что лучше использовать Yii или Laravel.
Интересует мнение знающих людей, что гибче для настройки?
В чем их принципиальные отличия в архитектуре, в чем основные отличия?

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

yii или laravel что лучше. Смотреть фото yii или laravel что лучше. Смотреть картинку yii или laravel что лучше. Картинка про yii или laravel что лучше. Фото yii или laravel что лучше

Для себя этот вопрос решил в пользу Yii. Yii и Симфони2 (и его форки), это немного разные ниши.

Симфони2(Ларавел): правильный и академичный. Куча слоев абстракции, паттерны, все хитрозагручено. Некоторые вещи легко и быстро реализуются, но гораздо сложнее отлаживаются (опять же за счет большого кол-ва уровней абстракции).

Yii: относится больше к практичным фреймворкам.
Преимущества:
-Проще изучить.
-Меньше магии.
-Меньше слоёв.
-Меньше конфигурации.
-Простой и удобный API.

+ ко всему этому хорошая документация, комьюнити, пожалуй самый быстрый PHP фреймворк на данный момент.
++ Yii может работать с компонентами Symfony 2, ZF2 и всеми библиотеками из Composer.

Интересует мнение знающих людей, что гибче для настройки?

В чем их принципиальные отличия в архитектуре, в чем основные отличия?

Постарался ответить в посте, также посмотрите презентацию.

PS да мой ответ предвзятый, я нахваливаю Yii =)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *