- PVSM.RU - https://www.pvsm.ru -
Команда PHP фреймворка рада сообщить о выходе версии 2.0.2. Инструкции по установке и обновлению можно найти по адресу http://www.yiiframework.com/download/ [1].
Версия 2.0.2 является патч-релизом Yii 2.0 и содержит около 40 небольших улучшений и исправлений. Полный список изменений можно найти на GitHub [2]. Спасибо всем, кто нам помогал [3] подготовить этот релиз.
Если хотите следить за процессом разработки Yii 2 можно поставить звёздочку или использовать кнопку watch на странице проекта на GitHub [4]. Также у нас есть Twitter [5] и Facebook [6].
Рассмотрим наиболее значительные дополнения данного релиза.
До 2.0.2 Yii поддерживал псевдонимы путей и URL. Теперь можно задавать псевдонимы для маршрутов. После задания псевдонима маршрута его можно использовать при создании URL методами Url::to() и Url::toRoute():
use yiihelpersUrl;
Yii::setAlias('@posts', 'post/index');
// /index.php?r=post/index
echo Url::to(['@posts']);
echo Url::toRoute('@posts');
Данная возможность пригодится если предполагаются изменения в структуре маршрутов. При использовании псевдонима не придётся менять код создания URL.
Свойства многих компонентов принимают ID других компонентов, таких как yiicachingDbCache::db или yiiwebCacheSession::cache. Иногда для того, чтобы не создавать новый компонент для юнит-тестирования, вам может понадобиться задать такое свойство при помощи массива конфигурации:
$cache = Yii::createObject([
'class' => 'yiicachingDbCache',
'db' => [
'class' => 'yiidbConnection',
'dsn' => '...',
],
]);
Если вы разрабатываете новый класс, зависимый от внешних компонент, то можете использовать следующий код для предоставления аналогичной возможности:
use yiibaseObject;
use yiidbConnection;
use yiidiInstance;
class MyClass extends Object
{
public $db = 'db';
public function init()
{
$this->db = Instance::ensure($this->db, Connection::className());
}
}
Код выше позволяет настроить свойство db одним из следующих значений:
yiidbConnection;yiidbConnection.Если вы используете yiibehaviorsSluggableBehavior, то теперь можете присвоить новому свойству immutable значение true. В этом случае однажды созданный slug не будет меняться при повторном сохранении модели. Это полезно для SEO: однажды проиндексированное содержимое останется по тому же URL.
Виджет yiijuiDatePicker теперь автоматически выбирает альтернативный язык, если указанный язык не найден. Это полезно в том случае, когда вы задаёте свойство language как ID локали, который содержит регион и/или вариант. К примеру, если задать language в de-DE и виджет не найдёт языкового файла /ui/i18n/datepicker-de-DE.js, то автоматически будет использован язык de и файл /ui/i18n/datepicker-de.js.
Класс yiibaseModel теперь содержит метод addErrors(), который позволяет передать ошибки валидации одной модели в другую. К примеру, если у вас есть класс формы для модели ActiveRecord и вам необходимо передать ошибки валидации формы в модель ActiveRecord, сделать это можно так:
use yiibaseModel;
use yiidbActiveRecord;
class MyForm extends Model
{
public $model;
public function process()
{
// ...
if (!$this->validate()) {
$this->model->addErrors($this->getErrors());
// ....
}
}
}
Автор: SamDark
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/framework/79375
Ссылки в тексте:
[1] http://www.yiiframework.com/download/: http://www.yiiframework.com/download/
[2] найти на GitHub: https://github.com/yiisoft/yii2/blob/2.0.2/framework/CHANGELOG.md
[3] всем, кто нам помогал: https://github.com/yiisoft/yii2/graphs/contributors
[4] на странице проекта на GitHub: https://github.com/yiisoft/yii2
[5] Twitter: https://twitter.com/yiiframework
[6] Facebook: https://www.facebook.com/groups/yiitalk/
[7] Источник: http://habrahabr.ru/post/247741/
Нажмите здесь для печати.