Баннер мобильный (3) Пройти тест

Yii2

Глоссарий

26 марта 2023

Поделиться

Скопировано

Содержание

    Yii2 — это компонентный объектно-ориентированный фреймворк для веб-разработки на PHP, реализующий парадигму MVC (Model-View-Controller). Его название расшифровывается как Yes it is. Yii2 — вторая версия фреймворка Yii.

    Логотип фреймворка

    Один из разработчиков фреймворка — россиянин Александр Макаров, поэтому Yii2 популярен в России и странах СНГ.

    Отличительные черты Yii2

    MVC-архитектура

    Фреймворки ориентированы на конкретную архитектуру приложения, то есть модель построения модулей и взаимодействий между ними. Yii реализует популярную в веб-разработке архитектуру MVC. Ее название расшифровывается как Model-View-Controller. Так называются три основных компонента архитектуры:

    • Model (модель) — это данные, с которыми работает программа. В случае с сайтом моделью будет база данных и информация со страницы. Model может изменяться при работе с приложением.
    • View (представление) — это внешнее отображение данных. На примере сайта представлением будет графический интерфейс страницы. Благодаря View пользователь получает доступ к контроллеру и может выполнять разные действия, например с помощью кнопок или форм.
    • Controller (контроллер) — это управляющая часть, которая получает запросы и изменяет модель и вид в соответствии с ними. Контроллер отвечает за связь между пользователем и приложением. 

    Объектно-ориентированный подход

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

    Шаблоны Basic и Advanced

    Особенность Yii2 — два подготовленных шаблона (templates) для старта проекта. Они позволяют отделить задачи друг от друга.

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

    Advanced шаблон для разработки более сложных сайтов. Он состоит из четырех компонентов, причем три из них можно считать полноценными приложениями.

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

    Приложения Backend и Frontend могут располагаться как на разных доменах (admin-example.com и example.com), так и на одном.

    Где используется Yii2

    Фреймворк используют бэкенд- и фулстек-разработчики. Благодаря компонентной структуре и отличной поддержке кэширования Yii2 подходит для создания порталов, форумов, CMS, магазинов или RESTful-приложений. Как и другие фреймворки, Yii2 помогает:

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

    Среди возможностей Yii2:

    • полная поддержка jQuer — фронтенд-библиотеки для взаимодействия между HTML-разметкой страницы и ее JavaScript-кодом;
    • поддержка Bootstrap, фреймворка для быстрого создания шаблонных элементов веб-интерфейса. Это могут быть формы, карусели и пр.;
    • защита от SQL-инъекций и XSS-атак на сайты;
    • возможность работать с базой данных и осуществлять ее миграцию — контроль версий содержимого;
    • работа с шаблонизаторами Smarty и Twig — программами, которые превращают PHP-код в HTML-страницу;
    • поддержка технологии AJAX для динамической загрузки содержимого и стиля программирования REST, который описывает особенности взаимодействия компонентов;
    • генерация шаблонного кода с помощью встроенного инструмента Gii;
    • отладка с помощью собственного отладчика Yii2-debug;
    • автоматическое тестирование, обработка ошибок и валидация форм;
    • поддержка legacy-кода, «унаследованного» от предыдущих циклов разработки.

    Преимущества Yii2

    Легкий старт. Yii2 подходит для начинающих программистов, считается простым в освоении и понимании. Достаточно иметь общее представление о классах, наследовании и методах.

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

    Функциональность. В Yii2 много встроенных возможностей: от собственных инструментов до поддержки популярных фреймворков.

    Доступность. Yii2 распространяется по модифицированной лицензии BSD. Его можно бесплатно скачивать и использовать для разработки платных и бесплатных приложений. Документация открыта для всех и доступна на русском языке.

    Большое сообщество. Ответы на вопросы можно найти на Stack Overflow, в разделе Issue Tracker на GitHub. Также доступен форум на официальном сайте, чат.

    Недостатки Yii2

    Устаревшие и неоптимальные практики. Некоторые «вшитые» во фреймворк технологии считаются устаревшими, например jQuery. На Yii2 много legacy-кода, но в новых проектах его применяют реже. Часть практик Yii сейчас критикуется за низкую эффективность или небезопасность. Это структурные или программные решения, которые снижают продуктивность и устойчивость всего проекта.

    Медленное развитие. Yii2 вышла еще в 2014 году, а третья версия не выпущена до сих пор. Изначально предполагалось, что команда разработчиков Yiisoft выпустит новую версию в 2020 году, но ее создание затянулось. По состоянию на январь 2022 года работа над Yii3 завершена на 58%.

    Прогресс разработки Yii3 на январь 2022 года

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

    Другие термины на «Y»

    Все термины

    Поделиться

    Скопировано

    0 комментариев

    Комментарии