Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогЧто такое yii2 и стоит ли его выбирать
Что такое yii2
31 272
Время чтения: 6 минут

Что такое yii2 и стоит ли его выбирать

31 272
Время чтения: 6 минут
Сохранить статью:
Сохранить статью:

В статье рассказывается:

  1. Немного истории
  2. Что нужно знать
  3. Чем удобен Yii2
  4. Шаблоны yii2
  5. Полезные фишки Yii2
  6. Сильные и слабые стороны
  7. Что, если не yii2
  8. Вместо резюме
  9. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Yii2 — объектно-ориентированный компонентный фреймворк для PHP, реализующий парадигму MVC (Model-View-Controller). Yii является акронимом от “Yes It is”, на русском пишется и читается как “йии”. Yii2 является второй версией фреймворка Yii. Забегая вперёд, замечу, что Yii3 ждет релиза в 2020 году.

Немного истории

Свою историю Yii начал 1 января 2008 года. Это был проект по исправлению некоторых изъянов фреймворка PRADO (PHP Rapid Application Development Object-oriented). В свою очередь, PRADO был попыткой перенести ASP.NET на PHP. Затем Цян Суэ понял, что PHP-фреймворк должен быть устроен немного по-другому и спустя 10 месяцев закрытой разработки вышла первая альфа-версия. Релиз Yii 1.0 состоялся 3 декабря 2008.

Вторая версия Yii под номером 2.0.0 увидела свет 12 октября 2014 года, эта дата считается датой релиза.

Что нужно знать

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

  • PHP — на уровне новичка. Достаточно знать немного о классах, наследованиях, немного о методах. Например, я сначала познакомился с Yii1, а только потом с PHP. Да, Yii очень прост в начале освоения.
  • jquery — базовые основы. Нет, я не опечатался, именно jquery, с учётом того, что yii2 вышел в свет в октябре 2014 года, тогда jQuery был очень популярным. jQuery встроен в Yii2.
  • HTML + CSS. Yii2 подразумевает написание веб-сайта, HTML+CSS — это то, что оформит внешний вид вашего сайта. В Yii2 также встроена поддержка фреймворка Bootstrap, поэтому с отрисовкой симпатичных элементов страницы проблем не будет.
  • Важно понимать следующее: после получения запроса от клиента, сервер выдаёт ответ обратно и ждёт нового запроса, уничтожая всё, что хранилось в оперативной памяти для формирования ответа.
Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 27860 pdf иконка

Чем удобен Yii2

Yii2 создавался будто бы для разработчиков с небольшим опытом. Создатели его побеспокоились о том, чтобы понять базовые принципы работы было максимально просто. В Yii2 существует два заготовленных шаблона: Advanced и Basic.

Шаблоны yii2

Шаблон basic

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

Также в шаблоне присутствует заготовка для реализации консольных запросов. Структура директорий следующая:

Шаблоны yii2

Шаблон advanced

Шаблон advanced состоит из четырёх базовых компонентов. Три из них можно назвать полноценными приложениями:

  • Backend — приложение в котором принято описывать логику бэк-офиса. Например, админку для интернет-магазина.
  • Frontend — приложение для «лицевой части», например, витрина интернет-магазина.
  • Common — компонент, реализующий связку между Backend и Frontend.
  • Console — приложение для запуска консольных скриптов. Необходимая вещица сегодня, поскольку консольный компонент позволяет выполнять долгие задачи в фоне.

Приложения Backend и Frontend можно располагать как на разных доменах (admin-example.com и example.com), так и на одном домене, но в разных уровнях (admin.example.com и example.com). Получается что, имея один шаблон, вы получаете два сайта, логически разделённых между собой, но имеющих общее в компоненте common. Это удобно для использования в проектах любой сложности.

Ниже представлена структура директорий шаблона advanced

Шаблон advanced

Полезные фишки Yii2

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

Gii

Gii — простой веб-инструмент для генерации кода. Подсказывает новичку, как нужно располагать файлы. Очень удобен для генерации однотипных страниц, которые в дальнейшем легко переделать под то, что нужно разработчику. Выглядит gii следующим образом:

Gii

Yii2-debug

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

Yii2-debug

Как видно на скриншоте, мы можем заглянуть в различные разделы работающего приложения. Можем посмотреть очередь запросов в БД, различные логи и события, узнать информацию об аутентифицированном пользователе, посмотреть поток загрузки приложения — и это ещё не всё. Очень важно отключать yii2-debug на продакшене, либо включать его только для определённых ip-адресов. yii2-debug демонстрируют очень важную техническую информацию, которую нельзя показывать посетителям сайта.

Сильные и слабые стороны

Как и любая сущность на планете, yii2 имеет свои слабые и сильные стороны. Рассмотрим наиболее яркие из них.

Сильные стороны

  • Фреймворк прост в понимании.
  • Легко адаптируется под большие и маленькие проекты.
  • Имеет большое количество решений рутинных задач из коробки. К примеру, шаблон advanced обладает механизмом авторизации и аутентификации. Это довольно нужный механизм и он не очень прост в реализации.
  • Имеет замечательную документацию, гайды по старту и различные рецепты.
  • Yii2 популярен и довольно стар (релиз-то был аж в 2014 году), поэтому на рынке в много вакансий yii2-разработчиков, а с помощью развитого сообщества ответы на 90% вопросов вы найдете при легком гуглеже.
  • С помощью шаблонов и gii фреймворк подсказывает начинающему разработчику, как правильно располагать файлы. Сначала разработчик начинает повторять за тем, как это сделано в фреймворке, а потом понимает почему это хорошо. Разработчики фреймворка будто делятся опытом с новичком.

Слабые стороны

  • Наличие различных антипаттернов в проекте — например, одиночка или божественный объект.
  • Встроенный класс User, являющийся потомком от ActiveRecord, показывает, как делать не нужно. Учит начинающих программистов, что классы, наследуемые от ActiveRecord, нужно раздувать различными методами, не связанными с работой с БД.
  • Сильная связность модулей в приложении. Говорят, эта проблема в Yii3 будет решена
  • Медленное развитие.

Каждый, кто работал с yii2 может назвать другие сильные и слабые стороны, но я хочу выделить именно эти. Из-за низкого порога входа приходится мириться со слабыми сторонами. Yii2 действительно хорош, чтобы с него начать свою карьеру. Наличие антипаттернов оправдано, когда речь идёт о простоте использования и поддержания.

Дарим скидку от 60%
на обучение «Разработчик» до 28 апреля
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Что, если не yii2

Yii2 — не единственный фреймворк для PHP. Сейчас популярны и другие:

Laravel

Laravel — основной конкурент, альтернатива yii2 на российском рынке труда. Laravel активнее развивается. Обладает своими плюсами и минусами. Может покрывать те же потребности, что и yii2. С Laravel можно познакомиться, обучаясь профессии PHP-разработчик.

Только до 29.04
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Yii3

Yii3 — это следующая версия Yii, находится в стадии разработки. Перейти со второй версии на третью будет проблематично. Проект кажется перспективным, но из-за того, что он очень долго разрабатывается, это может стать последней версией фреймворка. Согласно википедии, на текущий момент реализованы следующие нововведения:

  • поддержка различных СУБД Redis, MongoDB;
  • оформление кода по PSR;
  • использование версионирования SemVer;
  • DDD-совместимость;
  • отделение консоли от веба;
  • разбиение на части, которые можно использовать отдельно;
  • строгая типизация;
  • SOLID;
  • убийство иерархии классов;
  • убийство большинства wrapper-расширений;
  • отказ от нестандартных объектов;
  • Swoole / RoadRunner.

Symfony

Symfony — более низкоуровневый фреймоврк. В отличии Yii2 или Laravel, Symfony не является RAD-фреймворком. Для комфортного использования Symfony нужно хорошо знать PHP, понимать и уметь применять принципы SOLID, обладать сравнительно большим опытом.

Symfony подходит для написания проектов любой сложности, но предпочтительно его выбирать для проектов высокой сложности и большого объёма.

Нужно понимать, что все возможности перечисленных фреймворков ограничены возможностями PHP. Один и тот же сайт можно написать как на Symfony, так и на Yii2 или Laravel. Разница будет в количестве труда, затраченного на написание/поддержку (читай, в бюджете).

Вместо резюме

Я очень люблю Yii2, 90% моих проектов было написано на Yii2/Yii. Yii2 — действительно быстрый, безопасный и лёгкий в понимании фреймворк, но, к сожалению, скорость развития всего проекта Yii как такового оставляет желать лучшего. У разработчиков грандиозные идеи для Yii3, но Laravel развивается куда быстрее. А сейчас, как говорил Кролик из «Алисы в стране чудес», приходится бежать со всех ног, чтобы только остаться на том же месте. Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее!

Было время, когда Yii2 был самым востребованным PHP-фреймворком в России. Как сейчас обстоят с этим дела, не знаю, но догадываюсь, что Laravel скоро отберёт пальму первенства по востребованности, если уже не отобрал. Мы в GeekBrains уже не преподаём Yii2, но на факультете веб-разработки вы сможете обучиться навыкам работы с Laravel. И если после этого вам придётся работать с Yii2, то вы адаптируетесь к нему без особых проблем.

Оцените статью
Рейтинг:
( голосов )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Разработчик»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...