Команда PHP фреймворка Yii выпустила релизы некоторых официальных расширений.

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

В этот раз вышли обновления для:

Все эти релизы содержат довольно большое количество как исправлений, так и улучшений. Далее рассмотрим самое интересное.

Генератор документации API

Генератор документации API стал более гибким. Теперь можно задать имя класса в качестве имени шаблона:

vendor/bin/apidoc guide source/docs ./output --template=app\apidoc\MyTemplateClass

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

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

Наконец, стили для блоков Info, Note и Warning в руководстве были существенно улучшены.

Bootstrap

Помимо исправлений добавлен новый виджет для ToggleButtonGroup.

Использовать его можно прямо в ActiveForm через метод widget():

<?= $form->field($model, 'item_id')->widget(\yii\bootstrap\ToggleButtonGroup::classname(), [
     // configure additional widget properties here
]) ?>

Отладочная панель

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

Повысилась стабильность панели в разного рода исключительных ситуациях. Панель теперь не использует asset manager, так что вполне хорошо себя чувствует, если он отключен чтобы использовать, например, Gulp или Grunt. Класс ToolbarAsset был удалён.

Elasticsearch

Расширение теперь совместимо с Elasticsearch 2.0. Также добавлена поддержка HTTP аутентификации, AWS сервиса Elasticsearch и своих опций запросов, таких как min_score.

Кроме того, добавлена поддержка scroll API: теперь работают методы batch() и each(), а updateAll() и deleteAll() больше не лимитированы десятью записями по умолчанию.

Генератор кода Gii

В генераторе CRUD появилась возможность обрамлять GridView в Pjax. Генератор модели теперь учитывает внешние ключи таблиц для создания правил валидации типа exist. Также он научился генерировать обратные связи.

В окне предпросмотра кода теперь можно нажать CTRL+C чтобы копировать весь код, не выделяя его.