Yii2 дайджест новостей разработки #8 Май-Июнь'14
10 июня 2014 г., 19:57:24Май хороший месяц для шашлыка и походов :) Видимо, поэтому не так много новостей от разработчиков и, надеюсь, небольшое количество новых фич говорит о концентрации усилий на исправлении ошибок, дописывании доков и уверенном движении к стабильному релиз кандидату.
- Начат перевод документации. Выбирайте что то из готового и вперёд! Вот руководство по переводу от Александра Макарова.
- Много документации написано и дополнено. Напоминаю - документация здесь
- Руководство по Yii2 будет скоро доступно в PDF. Первый сырой вариант доступен здесь: http://stuff.cebe.cc/yii2-guide.pdf
- Слайды обзора Yii 2.0 от Александра Макарова
- Какие новые фичи PHP необходимо изучать для понимания Yii2
- Yii 2 список псевдонимов путей, доступных в стандартных базовом и расширенном приложениях
- WIP менеджер пакетов Bower для не-PHP зависимостей. @pmoust пробует интегрировать его через BowerPHP
- Из-коробки не будет поддержки Ubuntu Juju Charms.
Не будет стандартного
.htaccess
в примерах приложений....Т.к. сейчас доля использования nginx очень высока и .htaccess безполезен там, как и во многих других серверах
Обработка событий по нечеткому/частичному совпадению имени не планируется
- Добавлены
export()
иexportAsString()
. А-ля собственныеvar_export
- kPHP в Yii framework? Определённо нет, пока kPHP не поддерживает OOП.
- Добавлены методы
truncate
иtruncateWords
. Круто, т.к. пришлось писать свои реализации для блога :) - Добавлена поддержка условных комментариев для js и css файлов зарегистрированных через asset bundles и Html helper
- Доки : Используем шаблонизаторы (Twig, Smarty)
- Обсуждение API : добавление много уровневых связей к ActiveRecord::extraFields()
- Поддержка Vkontakte oAuth
- RBAC таблицы сделаны в виде миграций
- Обсуждение: "Жадная" загрузка статических связей может появиться в релиз кандидате
- Обсуждение: клиент для RESTful сервисов
Пробуй Yii2 в один клики с Vagrant + автоматическая настройка с Ansible
Все детали в моём прошлом посте (русской версии пока нет).
Всё необходимое программное обеспечение, которое вы могли хотеть попробовать в работе с Yii2, установится и автоматически настроится прямо "из коробки".
В двух словах :
"Try Yii2" предоставляет Vagrantfile и скрипты настройки Ansible. Vagrant запустит виртуальную машину VirtualBox, скачает образ ОС, развернёт его и запустит Ansible. Тот в свою очередь установит ПО внутри виртуальной Linux машины, склонирует проект Yii2, загрузит тестовую БД и подсоеденит конфиг к проекту. Также Vagrant внесёт изменения в ваш hosts
файл и установит ссылки спец. локальных доменных имён на IP адрес "виртуалки". Таким образом вы сможете открыть проект Yii2 в браузере по человекочитаемому локальному доменному имени. И всё это будет сделано абсолютно автоматически, просто запускайте vagrant up
и ждите !
Новые расширения Yii2
- BlueImp File Upload Widget for Yii2
- Disqus Widget
- Yii2 Bootstrap form helpers library, демо здесь
- Multi Select Widget
- Yii2 Solr
- Yii2 Gridview Editable
- Yii 2 Extension to manage Role Base Access Control
- Yii2 Leaflet (Maps)
- Yii2 Ckeditor
- Yii2-EAV
Yii2 Tips & Tricks
Как использовать yii2-authclient для связи с Twitter через Single Access Token
Как сменить адрес сервера в asset файлах ?
Надо сконфигурировать AssetBundle::baseUrl , где модет содержаться хост, если надо.
Как ввести масив в Active Fields ?
$form->field($model, 'uploadFile[]')->fileInput('multiple'=>'multiple');
$handler = new \app\components\ApiErrorHandler;
\Yii::$app->set('errorHandler', $handler);
$handler->register();
Есть ли альтернатива findByPk как в Yii1 ?
Вот пример возможной реализации https://github.com/yiisoft/yii2/issues/3390
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => 'user',
'tokens' => ['{id}' => '<id:[a-z0-9]*>']
],
],
Как передать параметры в breadcrumbs шаблона?
В контроллере:
$this->view->params['breadcrumbs'] = [...];
В представлении:print_r($this->params['breadcrumbs']);
Как добавить картинки используя assets?
После вызова
$bundle = YourAssetBundle::register($this);
, вы можете использовать$bundle->baseUrl
и вставить перед путём картинки в теге.
Но если вы не разрабатываете расширение, вы не должны вставлять картинку через asset bundle. Вы должны помещать её прямо в директорию доступную для веб сервера.