<rmcreative>

RSS

Все заметки с тегом «yii3»

  1. Интервью в подкасте «Так не сойдёт»

    20 ноября 2023

    Довльно давно я не появлялся на публичных мероприятиях и тут мне написали ребята из «Так не сойдёт» и пригласили поговорить. Интервью получилось немного необычным потому как они не стеснялись задавать неудобные вопросы.

    Смотрим

    Комментировать
  2. Yii3 Validator 1.0.0

    22 февраля 2023

    Команда Yii только что выпустила первую стабильную версию валидатора. Это был один из самых сложных релизов из-за огромного количества ситуаций, которые нужно было учесть.

    Как и со многими пакетами Yii3, всё получилось не быстро, но результат радует.

    Комментировать
  3. Новости Yii 2022, выпуск 2

    20 ноября 2022

    Написал свежий выпуск новостей Yii. Долго их не было, но прогресс, в общем, радует.

    Читаем на хабре

    Комментировать
  4. Yii3 Overview

    14 ноября 2022

    Дмитрий Дерепко из команды Yii выпустил две части Yii overview — серии постов про Yii3.

    Комментировать
  5. Yii 3 и PSR

    21 августа 2021

    На хабре задали интересный вопрос: «зачем пилить свои имплементации шаблонных вещей когда вокруг куча готовых, протестированных, оптимизированных? Не является ли это бутылочным горлышком в процессе реализации фреймворка?»

    Распишу по каждому PSR-у:

    • 1 - Basic Conding Standard. Исплользуем, не переделывали.
    • 3 - Logger Interface. Можно было взять Monolog, но нам нравился концепт логгера из Yii 2 больше, поэтому портировали и почистили. Но можно использовать в своих приложениях и Monolog.
    • 4 - Autoloading Standard. Исплользуем, не переделывали.
    • 6 - Caching Interface. Не используем, см. 16.
    • 7 - HTTP Message Interface. Своё сразу решили не делать. Сначала сравнили всё и выбрали самую лёгкую реализацию Tobias Nyholm. Но потом пришёл Евгений, у которого была ещё более оптимальная реализация. Впоследствии он влился в команду фреймворка.
    • 11 - Container Interface. Контейнер свой потому как стандарт регламентирует только получение зависимостей, а конфигурирование — нет. Сделать удобное конфигруирование как раз задача для фреймворка и то, что его отличает от других. И да, вот эта реализация кушает много времени.
    • 12 - Extended Coding Style Guide. Этот стандарт я координировал в PHP-FIG. Конечно же, используем.
    • 13 - Hypermedia Links. Не используем.
    • 14 - Event Dispatcher. Написали свой, ничего достойного готового на момент выхода стандарта не было, а события уже были нужны.
    • 15 - HTTP Handlers. Тоже центральная часть фреймворка так как определяет, какие Middleware поддерживаются, как задаются и, главное, как вызываются. Поэтому написали свой.
    • 16 - Simple Cache. Написали не PSR-ный yiisoft/cache, который использует любые PSR-16 адаптеры кеша и добавляет сверху всякие классные штуки. Ну а так как с Yii 2 уже был рабочий код адаптеров, портировали в PSR-16.
    • 17 - HTTP Factories. См. 7.
    • 18 - HTTP Client. Не будем реализовывать, будем использовать.

    Каждый из пакетов мы покрываем очень хорошо тестами, поэтому после начального релиза сильной поддержки PSR-пакет с фиксированными требованиями не требует.

    5 комментариев
  6. Новости Yii 2021, выпуск 3

    20 августа 2021

    Написал свежий выпуск новостей и выложил на хабр. Дело движется. До релиза дожмём.

    Читаем

    Комментировать
  7. Yii 3: пред-релизная поддержка компаний

    29 июля 2021

    Несмотря на то, что Yii 3 релизнут далеко не полностью, уже есть компании, которые его используют в продакшне. Чтобы получить  больше обратной связи и одновременно поддержать уже использующие Yii 3 компании, мы запускаем пред-релизную бесплатную поддержку в форме чатов между компаниями и командой фреймворка. Будем отвечать на любые вопросы по фреймворку, собирать пожелания и критику.

    Если хотите для своей компании такой чат — пишите в Telegram @samdark, добавим.

    2 комментария
  8. Границы применимости статического анализа в публичных пакетах

    16 июня 2021

    В замечательном чате Валентина Удальцова «Пыхтелка» заметили релиз одной из библиотек Yii 3, Rate limiter и предложили вполне справедливые улучшения. kafkiansky сделал pull request, в который кроме, собственно, улучшений попало одно очень интересное изменение: вместо геттеров-сеттеров сделать свойства класса CounterState публичными и добавить на класс аннотацию @psalm-immutable:

    /**
     * @psalm-immutable
     */
    final class CounterState
    {
        public int $limit;
        public int $remaining;
        public int $resetTime;
        public bool $isLimitReached;

    Почему так:

    1. Используется статический анализ через Psalm.
    2. @psalm-immutable не даст присваивать что-либо этим свойствам, если его добавить в continuous integration.
    3. В будущем легче будет мигрировать на read only properties.
    4. Никакой логики здесь нет, это plain object. С аннотациями меньше кода.

    Неплохо. Я бы согласился, если бы речь шла исключительно про код внутри коммерческого проекта, который я контролирую полностью. В случае же публичного пакета:

    1. Мы не контролируем то, как пакет используется.
    2. Мы не можем гарантировать, что будет использоваться именно Psalm, что он будет запускаться в процессе CI, что вообще будет использоваться хоть какой-то статический анализ.

    То есть полагаться на статический анализ полностью и выкинуть часть кода в публичных пакетах, к сожалению, не получится.

    2 комментария
  9. Новости Yii 2021, выпуск 1

    5 марта 2021

    Первый выпуск новостей за год. Релизы пакетов, интересное из разработки и немного про финансы.

    Читаем на хабре

    Комментировать
  10. Новости Yii 2020, выпуск 8

    30 декабря 2020

    Успел составить предновогодний выпуск. Тройку полностью не выпустили, но начали. В января будут ещё пакеты.

    Чиатем

    Комментировать