- PVSM.RU - https://www.pvsm.ru -
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 alpha 1, DevConfX, принятые и новые RFC из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
Количество новых возможностей впечатляет: типизированные свойства [3], стрелочные функции [4], FFI, предзагрузка и много другого! Список всех изменений в документе UPGRADING [5].
Обзор новых фич можно посмотреть в хабрапереводе Новое в PHP 7.4 [6] или в докладе Никиты Попова на PHP Russia [7].
$i = 197_823_459; // 197823459
?->
, который бы позволил делать безопасные цепочки вызовов методов, в случае когда возвращаемое значение может быть null
:
$o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();
Подобное предложение есть и в ECMAScript [13], а в Hack данная возможность уже реализована [14].
// Так сейчас
$closure = function (
ArgumentType $argument1,
ArgumentType $argument2,
ArgumentType $argument3,
ArgumentType $argument4
) use ($importVariable1, &$importVariable2, $importVariable3, &$importVariable4): ReturnType {
// ...
};
// Предлагается вот так
$closure = function (
ArgumentType $argument1,
ArgumentType $argument2,
ArgumentType $argument3,
ArgumentType $argument4
): ReturnType {
use $importVariable1, &$importVariable2;
use $importVariable3, &$importVariable4;
// ...
};
0.1 + 0.2 === 0.30000000000000004 [43]
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [54].
Вопросы и предложения пишите на почту [55] или в твиттер [56].
Больше новостей и комментариев в Telegram-канале PHP Digest [57].
Прислать ссылку [58]
Поиск ссылок по всем дайджестам [59]
← Предыдущий выпуск: PHP-Дайджест № 157 [60]
Автор: Роман Пронский
Источник [61]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/321016
Ссылки в тексте:
[1] PHP 7.4.0 alpha 1: https://www.php.net/archive/2019.php#id2019-06-13-1
[2] полугодовой цикл тестирования: https://wiki.php.net/todo/php74#timetable
[3] типизированные свойства: https://stitcher.io/blog/typed-properties-in-php-74
[4] стрелочные функции: https://habr.com/ru/post/450544/
[5] UPGRADING: https://github.com/php/php-src/blob/php-7.4.0alpha1/UPGRADING
[6] Новое в PHP 7.4: https://habr.com/ru/company/funcorp/blog/454410/
[7] докладе Никиты Попова на PHP Russia: https://www.youtube.com/watch?v=teKnckg5x7I
[8] DevConf 2019 (Москва, 21 июня): https://devconf.ru/ru
[9] Пятиминутка PHP №54: https://5minphp.ru/episode54/
[10] [RFC] Allow throwing exceptions from __toString(): https://wiki.php.net/rfc/tostring_exceptions
[11] [RFC] Numeric Literal Separator: https://wiki.php.net/rfc/numeric_literal_separator
[12] [RFC] Nullsafe Calls: https://wiki.php.net/rfc/nullsafe_calls
[13] в ECMAScript: https://github.com/tc39/proposal-optional-chaining
[14] уже реализована: https://docs.hhvm.com/hack/expressions-and-operators/null-safe-member-selection
[15] [RFC] Alternative «use» syntax for Closures: https://wiki.php.net/rfc/alternative-closure-use-syntax
[16] PHP Internals News #13: https://phpinternals.news/13
[17] PHP Internals News #14: https://phpinternals.news/14
[18] badoo/liveprof: https://github.com/badoo/liveprof
[19] пост: https://habr.com/ru/company/badoo/blog/436364/
[20] демо: http://liveprof.org/
[21] BrainMaestro/composer-git-hooks: https://github.com/BrainMaestro/composer-git-hooks
[22] hirak/prestissimo: https://github.com/hirak/prestissimo
[23] ronanguilloux/IsoCodes: https://github.com/ronanguilloux/IsoCodes
[24] zetrider/BotAuth: https://github.com/zetrider/BotAuth
[25] Пост: https://habr.com/ru/post/455104/
[26] Неделя Symfony #650 (10-16 июня 2019): https://symfony.com/blog/a-week-of-symfony-650-10-16-june-2019
[27] Symfony CLI: https://habr.com/ru/post/451138/
[28] illuminatech/config: https://github.com/illuminatech/config
[29] pipe-dream/laravel: https://github.com/pipe-dream/laravel
[30] Видеобзор: https://www.youtube.com/watch?v=doUlmZdvP1o
[31] spatie/laravel-webhook-server: https://github.com/spatie/laravel-webhook-server
[32] spatie/laravel-webhook-client: https://github.com/spatie/laravel-webhook-client
[33] Анализ сервис-контейнера Laravel: https://matthiasnoback.nl/2019/06/laravel-observations-part-1/
[34] Рефакторинг в Actions: https://laravel.demiart.ru/refactoring-to-actions/
[35] 40 дополнительных правил валидации для Laravel: https://laravel.demiart.ru/additional-validation-rules/
[36] мейнтейнит Laravel: https://www.youtube.com/watch?v=a8xAxLzIFs8
[37] Интервью с Александром Макаровым, Yii core team: https://habr.com/ru/company/devconf/blog/455098/
[38] Используем Yii2. Пишем очередную CMS: https://habr.com/ru/post/454914/
[39] MyBB <= 1.8.20: From Stored XSS to RCE: https://blog.ripstech.com/2019/mybb-stored-xss-to-rce/
[40] Критическая уязвимость в WordPress admin-ajax.php: https://habr.com/ru/post/455918/
[41] Дженерики в PHP: https://www.daveliddament.co.uk/articles/php-generics-today-almost/
[42] Почему операции с float не точные и что с этим делать в PHP: https://jiripudil.cz/blog/dont-just-float-swim-with-the-floating-point
[43] 0.1 + 0.2 === 0.30000000000000004: http://0.30000000000000004.com/
[44] Нюансы и особенности работы isset(): https://medium.com/@liamhammett/a-look-at-phps-isset-df64df7158ab
[45] Как замокать финальные классы: https://www.tomasvotruba.cz/blog/2019/03/28/how-to-mock-final-classes-in-phpunit/
[46] dg/bypass-finals: https://github.com/dg/bypass-finals
[47] Явная архитектура (Explicit architecture): https://herbertograca.com/2019/06/05/reflecting-architecture-and-domain-in-code/
[48] hgraca/explicit-architecture-php: https://github.com/hgraca/explicit-architecture-php
[49] О тестах и типах: https://stitcher.io/blog/tests-and-types
[50] Курсоры БД в Doctrine: https://habr.com/ru/company/lamoda/blog/455571/
[51] PHP в 2019: лучше, чем вы о нём думаете: https://habr.com/ru/company/funcorp/blog/456024/
[52] PHP Мeetup #27, Минск: https://www.youtube.com/watch?v=Vh1O7_27CfM&list=PLsylgeGbOMvnGEdOmMx3eFFYhlqXoWXlD
[53] Лучшие доклады PHP Russia 2019: https://www.youtube.com/playlist?list=PLH-XmS0lSi_x7ETRLRuGewPOBKdqOdH3S
[54] личку: https://habrahabr.ru/conversations/pronskiy/
[55] почту: mailto:roman@pronskiy.com
[56] твиттер: https://twitter.com/pronskiy
[57] PHP Digest: https://t.me/phpdigest
[58] Прислать ссылку: https://bit.ly/php-digest-add-link
[59] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[60] Предыдущий выпуск: PHP-Дайджест № 157: https://habr.com/ru/post/454558/
[61] Источник: https://habr.com/ru/post/456332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456332
Нажмите здесь для печати.