Меню

Yii 2 & 3

Новости веб-дизайна и разработки веб-приложений - evoart.STUDIO

Yii 2 & 3

История Yii началась 1 января 2008 года, как проект по исправлению некоторых изъянов во фреймворке PRADO (PHP Rapid Application Development Object-oriented), ставшего в 2004 победителем «Zend PHP 5 coding contest».

Фреймворк PRADO был попыткой перенести ASP.NET на платформу PHP, включая ViewState, PostBacks, Page_Load и OnClick, вследствие чего встречались участки кода просто скопированные из ASP.NET. Например, разделение на Rare Fields и Occasional Fields в классе Control с целью оптимизации по памяти, которое имеет смысл в .NET, но представляет сомнительную ценность в PHP. PRADO унаследовал от ASP.NET почти все отрицательные стороны: медленно обрабатывал сложные страницы, имел крутую кривую обучения и был довольно труден в настройке.

В определенный момент основатель и разработчик ядра фреймворка PRADO — Цян Суэ понял, что PHP-фреймворк должен быть построен несколько по-другому. В октябре 2008 года, после более 10 месяцев закрытой разработки, вышла первая альфа-версия. 3 декабря 2008 был выпущен Yii 1.0

24 Марта 2020 вышел Yii 2.0.33. Исправлено 22 ошибки, сделано 4 улучшения. Вышли расширения:

  • Shell 2.0.3.
  • Twig 2.4.0.
  • Redis 2.0.12.
  • Gii 2.2.0.

Релиз Yii 3 планируется в 2020 году. Среди новых расширений:

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

Фреймворк отлично документирован: документация есть ко всему и на нескольких языках (русский, украинский, английский, испанский и другие). Также каждый метод имеет шапку в PHPDoc.

  • установка с помощью Composer.
  • Высокая производительность относительно других фреймворков, написанных на PHP
  • Парадигма Модель-представление-контроллер
  • Интерфейсы DAO и ActiveRecord для работы с базами данных (PDO)
  • Поддержка интернационализации
  • Кэширование страниц и отдельных фрагментов
  • Перехват и обработка ошибок
  • Ввод и валидация форм
  • Аутентификация и авторизация (RBAC и ACL)
  • Использование AJAX и интеграция с jQuery. Со второй версии добавлена поддержка Bootstrap,
  • Генерация базового PHP-кода для CRUD-операций (скаффолдинг)
  • Поддержка тем оформления для их лёгкой смены
  • Возможность подключения сторонних библиотек
  • Миграции базы данных
  • Автоматическое тестирование
  • Поддержка REST (добавлена со второй версии)
  • Использование шаблонизаторов Twig, Smarty
  • Интерфейс командной строки(CLI - Console Line Interface): например выполнив в консоли команду php yii можно получить список всех доступных команд

Мы не ориентированы на работу с Yii, но, при сильном желании заказчика, можем его использовать. 

php
Share: