Yii2: первое знакомство

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

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

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

Список фреймворков достаточно большой

В разных странах рейтинг их разный. Так, например, в России, по данным Хабра, тройку популярных фреймворков на PHP замыкают Yii, Laravel и Symfony.

Познакомимся более подробно с Yii2 Фреймворк базируется на MVC паттерне проектирования. Yii2 придерживается философии простого и элегантного кода и не перегружен различными паттернами. Он позволяет писать Full-stack приложения, используя реляционные и нереляционные (NoSQL) базы данных, поддержку REST API, кэширование, инструменты безопасности и другое.

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

Работа с базой данных в Yii2 становится проще и гибче благодаря использованию реализованного паттерна ActiveRecord и конструктору SQL-запросов. Это очень сильно упрощает составление сложных и связанных запросов. Вот, например, запрос на выборку данных пользователя с его профилем (две таблицы user и profile):

User::find()->with('profile')->all()

Причем не важно, какую вы используете базу MySQL, Postgree или MongoDB. Код выше от этого не поменяется.

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

Есть вопрос? Напишите в комментариях!