13 июля Intellectsoft с 18:00 по 22:00 организуют встречу по Yii 2, Codeception и тестированию. Пройдёт она по адресу Киев, Лейпигская 15, БЦ MERX-2. Встречу ведёт Михаил Бондарчук, автор Codeception.
Все заметки с тегом «yii»
-
Встреча Intellectsoft по Yii 2, Codeception и тестированию в Киеве
5 июля 2016
-
Как получить mock из ActiveRecord
5 июля 2016
На тостере в комментариях к вопросу спросили, как получить mock ActiveRecord, чтобы он не пытался лезть в базу и возможно ли.
Возможно. В случае PHPUnit делается так:
$post = $this->getMockBuilder('\app\model\Post') ->setMethods(['save', 'attributes']) ->getMock(); $post->method('save')->willReturn(true); $post->method('attributes')->willReturn([ 'id', 'status', 'title', 'description', 'text' ]);
Особенность заключается в том, что перекрыть надо ещё и метод
attributes()
потому как ActiveRecord лезет за схемой в базу данных, что нам не нужно. -
Вышел официальный HTTP клиент для Yii 2
1 июля 2016
Выпустили официальное расширение-клиент HTTP. Написано почти целиком Павлом Климовым. До последнего времени не было тегнуто как релиз из за несовместимости с PSR-7, хотя уже много где использовалось. После долгих обсуждений всё-таки решили выпускать без PSR-7. К нему, возможно, вернёмся в 2.1.x.
Выполнение HTTP запроса выглядит вот так:
use yii\httpclient\Client; $client = new Client(); $response = $client->createRequest() ->setMethod('post') ->setUrl('http://example.com/api/1.0/users') ->setData(['name' => 'John Doe', 'email' => '[email protected]']) ->send(); if ($response->isOk) { $newUserId = $response->data['id']; }
-
Выпущена версия 2.1.0 расширения для MongoDB
27 июня 2016
Выпущена версия 2.1.0 расширения для MongoDB, которая использует новый драйвер MongoDB . Расширение отлично работает с PHP 7.x и HHVM.
Данная версия не совместима с 2.0.x, поэтому стоит сначала прочитать UPGRADE и обновить свой код.
Если вы хотите остаться на
2.0.x
, удостоверьтесь, что в вашемcomposer.json
версия указана как~2.0.5
. Подробнее о версиях можно узнать из документации Composer.Кроме нового драйвера в данной версии есть и некоторые улучшения, такие как пакетное чтение и пакетная запись данных. Подробнее о них можно узнать из CHANGELOG.
-
Хакатон по Yii Framework в TACC, отчёт
25 июня 2016
Оформил отчёт о хакатоне по Yii, который прошёл в ТАСС 18 и 19 июня. Всё прошло как нельзя лучше несмотря на то, что особых приготовлений с моей стороны не было — был в отпуске. ТАСС — молодцы. Если подготовить заранее чёткий план работ — будет ещё лучше.
-
Модули Yii
15 июня 2016
Модули Yii существуют для решения двух задач:
- Группировка похожих функций приложения.
- Изоляция функций для их последующего использования в других проектах.
Когда команда Yii думала над модулями, задача рассматривалась целиком: то есть и группировка и изоляция. Но как только сообщество начало использовать модули, оказалось, что используются они, в основном, для группировки.
Оно и понятно: нормальную изоляцию сделать тяжело. Модуль не должен в этом случае использовать что-либо извне напрямую. Если что-либо необходимо, модуль предоставляет интерфейс, который реализуется в приложении, использующем модуль. То же применимо и к обратной ситуации: извне использовать что-либо из модуля напрямую строго запрещено: только через интерфейс.
-
DevConf:: Хакатон по Yii в ТАСС 18-19 июня 2016
27 мая 2016
18-19 июня сразу после DevConf 2016 ТАСС проводит хакатон по Yii. Я обязательно буду.
Участие бесплатно, но надо обязательно записаться.
-
Небольшое интервью про меня, DevConf и Yii
19 мая 2016
Адель Файзрахманов, один из организаторов DevConf провёл со мной небольшое интервью. Результат опубликован текстом на хабре.
-
Yii 2.0.8
28 апреля 2016
Релизнули Yii 2.0.8. Анонс, как обычно, можно прочитать на хабре.
2 месяца. Сотня изменений и улучшений. 300 коммитов, от 64 авторов. Изменено 150 файлов. Неплохо поработали.
-
Yii 2.0: не скачиваем клиентские пакеты
6 апреля 2016
При разработке Yii 2.0 мы сделали ошибку, включив в ядро по умолчанию клиентские пакеты вроде jQuery. В большинстве случаев это не доставляет проблем, но вот когда разрабатывается исключительно API, а пакеты всё-равно скачиваются и занимают место, возникает некое чувство дискомфорта.
В 2.1 мы попробуем это решить, а пока можно воспользоваться средствами Composer прописав следующее в своём главном
composer.json
:"provide": { "bower-asset/jquery": "*", "bower-asset/jquery.inputmask": "*", "bower-asset/punycode": "*", "bower-asset/yii2-pjax": "*" },
UPD: есть и в готовом виде: https://github.com/cebe/assetfree-yii2