Свежая подборка со ссылками на новости и материалы. В выпуске: Zend Framework переходит под крыло Linux Foundation, новости из PHP Internals, порция полезных инструментов, и многое другое.

Приятного чтения!



Новости и релизы



PHP Internals


  • [RFC] Arrow Functions 2.0 — Стартовало голосование по коротким лямбдам и ход голосования обнадёживает. Синтаксис остался прежним: fn($x) => $x * $y .
  • [RFC] Deprecate left-associative ternary operator — Почти во всех языках тернарный оператор вычисляется справа налево, а вот в PHP наоборот. Предлагается отменить левую ассоциативность совсем, а если необходимо использовать несколько тернарных операторов, то явно указывать очерёдность с помощью скобок.
    1 ? 2 : 3 ? 4 : 5;   // deprecated
    (1 ? 2 : 3) ? 4 : 5; // ok
    1 ? 2 : (3 ? 4 : 5); // ok
    
  • audio PHP Internals News #5 — О списковых включениях с автором RFC Ларри Гарфильдом.
  • audio PHP Internals News #6 — Интервью с Remi Collet, релиз-менеджером PHP 7.2 об обеспечении качества PHP и расширений.

Инструменты


  • pinba-server/pinba-server — Простой pinba-сервер на чистом PHP, который сохраняет все данные в Clickhouse. Есть готовый дашборд для графаны. Простая установка и низкие системные требования, а сжатые данные занимают очень мало места на диске. Прислал morozovsk.
  • cycle/orm — ORM для долгоживущих приложений от автора RoadRunner Антона Титова. Подробная документация в процессе, есть сравнение с Doctrine и Eloquent.
  • php-comrade/comrade-dev — Планировщик и менеджер задач на PHP.
  • jwage/changelog-generator — Генератор списка изменений в маркдаун на основе информации из GitHub.
  • moneyphp/money — Реализация фаулеровского паттерна Money. Под капотом используются строки.
  • mamuz/PhpDependencyAnalysis — Инструмент строит граф зависимостей абстрактных типов и показывает плохие зависимости.
  • robinvdvleuten/php-ulid — Вместо обычного UUID, в качестве идентификаторов можно использовать ULID, который обладает рядом преимуществ, в частности, лексически монотонно возрастает, а значит его можно удобно сортировать.

Symfony



Laravel



Yii


  • Быстрый релизный цикл Yii — Основной фреймворк будет релизиться примерно раз в месяц, а расширения будут обновляться каждую неделю, если были изменения после предыдущих релизов.

Материалы для обучения




Занимательное


  • siara-cc/php_webview — Расширение предоставляет возможность использовать WebView из PHP на Mac/Win/Linux. Реализовано на основе zserge/webview.

Спасибо за внимание!

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

Больше новостей и комментариев в Telegram-канале PHP Digest.

Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 153

Комментарии (15)


  1. bat
    22.04.2019 05:35

    laminat


  1. bat
    22.04.2019 06:00

    robinvdvleuten/php-ulid — Вместо обычного UUID, в качестве идентификаторов можно использовать ULID, который обладает рядом преимуществ, в частности, лексически монотонно возрастает, а значит его можно удобно сортировать.

    На ум приходит только один вариант использования — primary key.
    Какие еще есть варианты?


    1. istepan
      22.04.2019 07:37

      В мессенджерах, при создании сообщений на клиенте.


      1. wickedweasel
        22.04.2019 09:42

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


    1. VolCh
      22.04.2019 11:39

      Key, но не primary :)



  1. maxyc_webber
    22.04.2019 13:34

    Обидно, что по Yii мало информации последнее время. пацриот во мне расстраивается


    1. EvgeniiR
      22.04.2019 23:08

      Очень печально если выбор технологии для вас больше религиозный/патриотический вопрос, чем обоснованный выбор.
      p.s. Автор фреймворка Китаец, в чем патриотизм то?)


      1. maxyc_webber
        22.04.2019 23:38

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


        1. gotovsky
          23.04.2019 09:52

          Он китаец, у него и имя китайское и самое название Yii произносится созвучно с китайским словом «простой и развивающийся».


        1. SamDark
          23.04.2019 12:10

          Qiang Xue — китаец.


      1. SamDark
        23.04.2019 12:10

        Авторов версии 2 несколько. Но да, патриотизм не должен быть критерием выбора.


  1. player259
    22.04.2019 14:44

    Правильный способ делать assert в PHPUnit.

    На этот вопрос уже давно ответил ментейнер PHPUnit
    Обсуждение на гитхабе
    Из документации
    Если коротко, то правильным будет $this, но т.к. PHPUnit сплошное легаси 15-летней давности, никто его не будет переписывать только ради этого


    1. OnYourLips
      23.04.2019 08:20

      Если коротко, то правильным будет $this
      Думаю, что слово «правильным» тут абсолютно неуместно. Лучше сказать «каноничным».

      И судя по комментариям в виде смайликов, большинство каноничный способ считают неправильным, что не удивительно.


      1. player259
        23.04.2019 11:55

        Согласен, но я о другом.
        Тесткейс это полноценный объект, он хранит свое состояние на протяжении всего запуска, методы test* нестатические. Однако в нем присутствуют также и статические ассерты. Обычно класс используется либо полностью статически, как какой-нибудь helper, либо всегда инстанцируется, а здесь почему-то смешаны оба подхода.
        Поэтому в контексте инстанса более правильным и очевидным будет использование $this, естественно и методы тогда должны быть нормальными.
        Либо (о чем упомянули в issue) реализовать статический фасад по типу Assert::assertEquals(). Мне этот вариант кажется наиболее корректным.
        Думаю в PHPUnit сделали это для некоего удобства, вроде как кода писать меньше, сразу все инструменты под рукой и т.п. Сэкономили на спичках. Ну либо скопировали из JUnit не заморачиваясь.