...

понедельник, 9 сентября 2019 г.

PHP-Дайджест № 164 (27 августа – 9 сентября 2019)

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC1, Laravel 6, Monolog 2 и другие релизы, Union Types и прочие новости из PHP Internals, порция полезных инструментов, пачка подкастов и многое другое.

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


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


  • PHP 7.4.0 RC1 — Стартовал цикл релиз-кандидатов ветки 7.4. Ожидается всего не менее 6 выпусков для стабилизации.
  • PHP 7.1.32, PHP 7.2.22, PHP 7.3.9 — Релизы с исправлениями критичных ошибок безопасности, всем пользователям рекомендуется обновиться.
  • Monolog 2.0.0 — После 4 лет разработки представлен Monolog 2.0. Требует PHP 7.2, используются тайпхинты где возможно и strict_types. Добавлены новые хэндлеры (SqsHandler, TelegramBotHandler) и другое. Monolog 1.x будет поддерживаться и дальше.

PHP Internals


  • [RFC] Reclassifying engine warnings — Предлагается пересмотреть бросаемые нотисы и ворнинги в движке PHP и поправить классификацию там, где необходимо. Во многих случаях предлагается повысить уровень ошибки: Notice -> Warning, например, при попытке получить свойство у не-объекта, и Warning -> Error exception, например, при попытке использовать скаляр как массив. Ну и «Undefined variable» будет бросать Warning.
  • [RFC] Union Types v2 — Предлагается ввести объединённые типы – это значит, что переменная может принимать один из перечисленных типов. Де-факто объединённые типы давно используются в PHPDoc, но теперь они действительно будут проверяться самим интерпретатором.
    Предлагаемый синтаксис T1|T2|... может быть использованы везде, где типы можно указывать сейчас:
    Скрытый текст
    class Number {
        private int|float $number;
    
        public function setNumber(int|float $number): void {
            $this->number = $number;
        }
    
        public function getNumber(): int|float {
            return $this->number;
        }
    }
    
    

    В качестве эксперимента RFC оформлен в виде пулл-реквеста и любой желающий может прокомментировать или выразить реакцию в виде emoji. Финальное голосование будет проходить так же, как и раньше на wiki.php.net. Судя по сообщению Никиты, первый эксперимент прошёл неплохо и было получено много ценных комментариев от сообщества.
  • error_reporting=E_ALL in PHP 8 — В PHP 8 по умолчанию уровень ошибок будет установлен в E_ALL вместо текущего: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED.
  • [RFC] Object Initializer — Документ пока в черновике, но весьма интересный. Предлагается реализовать синтаксис быстрой для инициализации объектов:
    Скрытый текст
    class Customer
    {
      public $id;
      public $name;
    }
    
    $customer = new Customer {
      id = 123,
      name = "John Doe",
    };
    
    

Инструменты


Symfony


Laravel


  • Laravel 6 — На конференции LaraconEU представлено мажорное обновление фреймворка. Это LTS релиз и будет получать обновления безопасности в течение 3 лет. Также теперь релиз следует Semver, а значит версия 7 выйдет уже этой зимой. Более подробно об изменениях на русском, и в видео на Laracasts.
  • facade/ignition — Кроме прочего, в Laravel 6 реализована новая страница ошибок. Она базируется на Whoops, но предоставляет больше информации и даже предлагает исправлять простые ошибки не покидая браузера.
  • beyondcode/laravel-view-xray — Удобно подсветит и подпишет вьюшки на странице.
  • stefanzweifel/laravel-stats 2.0 — Artisan-команда, которая выведет разнообразную статистику кода.
  • video PHP Townhall #68: Behind the Facade — Taylor Otwell в гостях у Matt Trask и Ben Edmunds обсуждают, что нового в Laravel, бизнес-сторону дел, и организацию LaraconUS.

Yii


Async PHP


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


Аудио/Видео


Сообщество


  • Matthew Weier O'Phinney, лидер Zend Framework (Laminas) и один из основателей PHP-FIG, закончил работу в Zend и ищет новое место
  • Автор Xdebug Derick Rethans рассматривает возможность сделать Xdebug 3 платным для коммерческого использования. На что Joe Walkins ответил, что экосистеме нужен бесплатный отладчик и в таком случае он будет вынужден реализовать альтернативное расширение.

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

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

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

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

Let's block ads! (Why?)

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

Отправить комментарий