- PVSM.RU - https://www.pvsm.ru -

PHP-Дайджест № 159 (17 июня – 1 июля 2019)

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 alpha 2, BeerPHP, обзор свежих RFC из PHP Internals, включая Strict operators directive, порция полезных инструментов, видео и многое другое.

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

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 2 Новости и релизы

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 3 PHP Internals

  • [RFC] Normalize arrays' «auto-increment» value on copy on write [12] — Предлагается сбрасывать значение “автоинкремента” при копировании массива, так, как если при копировании новый пустой массив был бы по одному заполнен элементами из старого.
    Скрытый текст

    $array = [0, 1, 2, 3];
    unset($array[3], $array[2]);
    $arrayCopy = $array;
    $arrayCopy[] = 2;
    
    // Если предложение будет принято, то следующее выражение будет истинно.
    // А на данный момент массивы не эквивалентны.
    assert($arrayCopy === [0, 1, 2]);
    
  • [RFC] Strict operators directive [13] — PHP производит неявное преобразование типов для большинства операторов. И поскольку правила конвертации довольно сложные, то часто это может приводить к непредсказуемым результатам. В этом RFC предлагается ввести новую директиву strict_operators, которая ограничит преобразования типов и позволит бросать ошибку TypeError для несовместимых операндов. Документ очень подробный и описывает множество примеров, рекомендую просмотреть весь. PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 4 Также директива меняет поведение конструкции switch.
  • [RFC] Deprecations for PHP 7.4 [14] — Ещё пачку функциональностей предлагается объявить устаревшими в 7.4 и затем удалить в 8.0. Из интересного:
      • Cейчас в implode() аргументы можно передавать в любом порядке – предлагается оставить только канонический implode(string $glue, array $pieces);
      • Вместо float можно использовать тип real – последний будет убран.
  • [RFC] Add str begin and end functions [15] — Предлагается добавить функции str_begins(), str_ibegins(), str_ends(), str_iends(), mb_str_begins(), mb_str_ibegins(), mb_str_ends(), и mb_str_iends().
  • Для репозитория php-src добавили пайплайн в Azure DevOps [16].
  • audio PHP Internals News #15 [17] — Об улучшениях base_convert() с Scott Dutton [18].
  • audio PHP Internals News #16 [19] — С Joe Watkins [20] об [RFC] Unbundle ext/recode [21].

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 7 Инструменты

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 8 Symfony

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 10 Laravel

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 16 Yii

  • cebe/yii2-app-api [49] — Шаблон приложения на Yii2 для быстрого создания API на основе спеки OpenAPI.

Async PHP

PHP-Дайджест № 159 (17 июня – 1 июля 2019) - 20 Материалы для обучения

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

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

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

Прислать ссылку [69]
Поиск ссылок по всем дайджестам [70]
Предыдущий выпуск: PHP-Дайджест № 158 [71]

Автор: Роман Пронский

Источник [72]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/322454

Ссылки в тексте:

[1] PHP 7.4.0 alpha 2: https://www.php.net/archive/2019.php#id2019-06-26-1

[2] плановый: https://wiki.php.net/todo/php74#timetable

[3] исправлениями ошибок: https://github.com/php/php-src/blob/php-7.4.0alpha2/NEWS

[4] UPGRADING: https://github.com/php/php-src/blob/php-7.4.0alpha1/UPGRADING

[5] Новое в PHP 7.4: https://habr.com/ru/company/funcorp/blog/454410/

[6] What’s New in PHP 7.4 (Features, Deprecations, Speed): https://kinsta.com/blog/php-7-4/

[7] BeerPHP Moscow #4, 4 июля 2019: https://www.meetup.com/BeerPHP-Moscow/events/262636999

[8] создать issue: https://github.com/beerphp/meta/issues

[9] beerphp/meta: https://github.com/beerphp/meta

[10] JS-мире: https://github.com/beerjs

[11] PHP Meetup в Москве (офис SkyEng), 22 августа 2019: https://panda-meetup.ru/msk-php-meetup

[12] [RFC] Normalize arrays' «auto-increment» value on copy on write: https://wiki.php.net/rfc/normalize-array-auto-increment-on-copy-on-write

[13] [RFC] Strict operators directive: https://wiki.php.net/rfc/strict_operators

[14] [RFC] Deprecations for PHP 7.4: https://wiki.php.net/rfc/deprecations_php_7_4

[15] [RFC] Add str begin and end functions: https://wiki.php.net/rfc/add_str_begin_and_end_functions

[16] пайплайн в Azure DevOps: https://dev.azure.com/phpazuredevops/PHP/_build?definitionId=1

[17] PHP Internals News #15: https://phpinternals.news/15

[18] Scott Dutton: https://twitter.com/exusssum

[19] PHP Internals News #16: https://derickrethans.nl/phpinternalsnews-16.html

[20] Joe Watkins: https://twitter.com/krakjoe

[21] [RFC] Unbundle ext/recode: https://wiki.php.net/rfc/unbundle_recode

[22] cycle/orm: https://github.com/cycle/orm

[23] подробная документация: https://github.com/cycle/docs

[24] динамического определения схемы: https://github.com/cycle/docs/blob/master/advanced/dynamic-schema.md

[25] SerafimArts/pipe: https://github.com/SerafimArts/pipe

[26] Ostap34JS: https://github.com/Ostap34JS

[27] postaddictme/instagram-php-scraper: https://github.com/postaddictme/instagram-php-scraper

[28] mgp25/Instagram-API: https://github.com/mgp25/Instagram-API

[29] helhum/dotenv-connector: https://github.com/helhum/dotenv-connector

[30] patrickschur/language-detection: https://github.com/patrickschur/language-detection

[31] thephpleague/commonmark: https://github.com/thephpleague/commonmark

[32] Обзор релиза 1.0.0: https://www.colinodell.com/blog/201906/leaguecommonmark-100-has-been-released

[33] Новый участник в Symfony Core команде:: https://symfony.com/blog/new-symfony-core-team-member-yonel-ceruto

[34] Yonel Ceruto: https://github.com/yceruto

[35] PHP 7.4 Preload в Symfony: https://github.com/symfony/symfony/pull/32032

[36] dmitrybalabka: https://twitter.com/dmitrybalabka

[37] контроль пробельных символов: https://symfony.com/blog/better-white-space-control-in-twig-templates

[38] простые макросы: https://symfony.com/blog/simpler-macros-in-twig-templates

[39] добавлены Filter, Map и Reduce: https://symfony.com/blog/twig-adds-filter-map-and-reduce-features

[40] Эффективно тестирование с помощью фикстур в Symfony 4: https://medium.com/manomano-tech/efficient-testing-with-fixtures-on-symfony-4-db0a8ea75245

[41] Работа с JSON RPC в Symfony 4: https://habr.com/ru/post/457750/

[42] mpociot/laravel-test-factory-helper: https://github.com/mpociot/laravel-test-factory-helper

[43] laravel-preload/preload.php: https://github.com/brendt/laravel-preload/blob/master/preload.php

[44] Макросы в Laravel: https://laravel.demiart.ru/macros/

[45] Unit тестирование в Laravel: https://habr.com/ru/post/457866/

[46] Разработка чат-бота (laravel+botman): https://habr.com/ru/post/456240/

[47] Accessors & Mutators: https://laravelcoreadventures.com/the-lost-eloquent-temple-of-doom/level/6

[48] Laravel Snippet #14: https://blog.laravel.com/laravel-snippet-14

[49] cebe/yii2-app-api: https://github.com/cebe/yii2-app-api

[50] Plans and First Steps: https://www.youtube.com/watch?v=7HJFZ25XiQs&feature=youtu.be

[51] What is a RESTful API?: https://www.youtube.com/watch?v=aR3e9pj9TIo&feature=youtu.be

[52] Пятиминутка PHP #5: https://5minphp.ru/episode55/

[53] слушать на YouTube: https://www.youtube.com/channel/UCkqGd3xwk9LqNYXVTjAe3ww/videos

[54] PHP Wishlist: https://medium.com/@liamhammett/my-php-wishlist-dd74c9499591

[55] Возможно вам не нужна query bus: https://matthiasnoback.nl/2019/06/you-may-not-need-a-query-bus/

[56] Мутационное тестирование: тестируем тесты: https://habr.com/ru/company/mailru/blog/457888/

[57] Логирование в распределённом php-приложении: https://habr.com/ru/post/456676/

[58] PHP дженерики уже сегодня (ну, почти): https://habr.com/ru/post/456466/

[59] посте о реализации в PHPStan: https://arnaud.le-blanc.net/post/phpstan-generics.html

[60] Haxe и PHP:: https://habr.com/ru/post/458184/

[61] Чистый код на PHP: https://github.com/peter-gribanov/clean-code-php/blob/ru/README.md

[62] Clean Code: https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

[63] Видео с Dutch PHP Conference 2019: https://www.youtube.com/playlist?list=PLV9OnTq0kQ5w8Nuxfrfchq_rKyQuC4ABM

[64] Видео с PHPfwdays 2019: https://www.youtube.com/playlist?list=PLPcgQFk9n9y-LRUl8-71-9wGIwk8FwPA2

[65] личку: https://habrahabr.ru/conversations/pronskiy/

[66] почту: mailto:roman@pronskiy.com

[67] твиттер: https://twitter.com/pronskiy

[68] PHP Digest: https://t.me/phpdigest

[69] Прислать ссылку: https://bit.ly/php-digest-add-link

[70] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/

[71] Предыдущий выпуск: PHP-Дайджест № 158: https://habr.com/ru/post/456332/

[72] Источник: https://habr.com/ru/post/458292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=458292