- PVSM.RU - https://www.pvsm.ru -
Свежая подборка со ссылками на новости и материалы. В выпуске: PHPUnit 8 и другие релизы, PSR-14 и PSR-12 в стадии ревью, JIT для PHP, стартовала работа над PHP 8, пачка свежих RFC из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
null
.
var_dump(strlen(new stdClass));
// Warning: strlen() expects parameter 1 to be string, object given
// NULL
Будет:
declare(strict_types=1);
var_dump(strlen(new stdClass));
// TypeError: strlen() expects parameter 1 to be string, object given
WeakReference
для реализации слабых ссылок, что позволит разработчику сохранить ссылку на объект, при этом не предотвращая его удаления сборщиком мусора. Это может быть особенно полезно для всякого рода кэшей.void
в методах наследника. Появилось по следам изменения сигнатуры метода setUp()
и нескольких других в PHPUnit 8.
class Foo {
function method1 (): void {}
function method2 () {}
}
class Bar extends Foo {
function method1 (): array { return []; }
function method2 (): array { return []; }
}
class Baz extends Foo {
function method1 () { return 42; }
function method2 () { return 42; }
}
mixed
. Это позволит указать, что функция может принимать (или возвращать) значения разных типов.hrtime()
на PHP 7.3+.Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [76].
Вопросы и предложения пишите на почту [77] или в твиттер [78].
Больше новостей и комментариев в Telegram-канале PHP Digest [79].
Прислать ссылку [80]
Поиск ссылок по всем дайджестам [81]
← Предыдущий выпуск: PHP-Дайджест № 148 [82]
Автор: Роман Пронский
Источник [83]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/308392
Ссылки в тексте:
[1] PSR-14 Event Dispatcher : https://github.com/php-fig/fig-standards/blob/master/proposed/event-dispatcher.md
[2] перешёл в стадию ревью: https://groups.google.com/forum/#!msg/php-fig/sR4oEQC3Gz8/HriONru0FQAJ
[3] PSD-12 Extended Code Style: https://github.com/php-fig/fig-standards/blob/master/proposed/extended-coding-style-guide.md
[4] PSR-2: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[5] PHP 7.3.2: http://news.php.net/php.internals/104283
[6] PHP 7.2.15: http://www.php.net/ChangeLog-7.php#7.2.15
[7] PHPUnit 8: https://phpunit.de/announcements/phpunit-8.html
[8] Создана ветка PHP-7.4: https://externals.io/message/103862
[9] удалена целая пачка устаревших возможностей: https://github.com/php/php-src/pull/3770
[10] [RFC] JIT: https://wiki.php.net/rfc/jit
[11] PHP-Parser: https://github.com/nikic/PHP-Parser
[12] amphp/http-server: https://github.com/amphp/http-server
[13] Docker образов: https://hub.docker.com/r/dmitrybalabka/php-jit/
[14] @dmitrybalabka: https://twitter.com/dmitrybalabka
[15] что значит JIT для пользователей PHP: https://stitcher.io/blog/php-jit
[16] [RFC] Consistent type errors for internal functions: https://wiki.php.net/rfc/consistent_type_errors
[17] [RFC] RFC Workflow & Voting (2019 update): https://wiki.php.net/rfc/voting2019
[18] альтернативные предложения: https://wiki.php.net/rfc/abolish-narrow-margins
[19] пообещал: https://externals.io/message/104278
[20] [RFC] Weak References: https://wiki.php.net/rfc/weakrefs
[21] [RFC] Allow void return type variance: https://wiki.php.net/rfc/allow-void-variance
[22] [RFC] Mixed typehint: https://wiki.php.net/rfc/mixed-typehint
[23] [RFC] Annotations 2.0: https://wiki.php.net/rfc/annotations_v2
[24] простые аннотации: https://wiki.php.net/rfc/simple-annotations
[25] атрибуты: https://wiki.php.net/rfc/attributes
[26] плагин для аннотаций в PhpStorm: https://plugins.jetbrains.com/plugin/7320-php-annotations
[27] mnapoli/bref v0.3: https://github.com/mnapoli/bref
[28] можно использовать img2lambda: https://akrabat.com/using-img2lambda-to-publish-your-serverless-php-layer/
[29] paragonie/ciphersweet: https://github.com/paragonie/ciphersweet
[30] посте: https://paragonie.com/blog/2019/01/ciphersweet-searchable-encryption-doesn-t-have-be-bitter
[31] phpdaily/php: https://hub.docker.com/r/phpdaily/php
[32] immutablephp/immutable: https://github.com/immutablephp/immutable
[33] блогпост: http://paul-m-jones.com/archives/6964
[34] spatie/enum: https://github.com/spatie/enum
[35] Еще одна: https://github.com/search?l=PHP&q=php+enum&type=Repositories
[36] krakjoe/pcov: https://github.com/krakjoe/pcov
[37] посте: https://blog.krakjoe.ninja/2019/01/running-for-coverage.html
[38] krakjoe/sandbox: https://github.com/krakjoe/sandbox
[39] блогпосте: https://blog.krakjoe.ninja/2019/01/boxes-of-sand.html
[40] akondas/php-grandmaster: https://github.com/akondas/php-grandmaster
[41] примером деплоя: https://arkadiuszkondas.com/php-grandmaster/
[42] railt/railt: https://github.com/railt/railt
[43] SerafimArts/Properties: https://github.com/SerafimArts/Properties
[44] Неделя Symfony #632 (4-10 февраля 2019): https://symfony.com/blog/a-week-of-symfony-632-4-10-february-2019
[45] Неделя Symfony #631 (28 января — 3 февраля 2019): https://symfony.com/blog/a-week-of-symfony-631-28-january-3-february-2019
[46] О паре файлов, которых не хватает вашему Symfony-приложению:: https://www.tomasvotruba.cz/blog/2019/01/28/2-files-that-your-symfony-application-misses/
[47] Fabien Potencier ответил на вопросы пользователей: https://hashnode.com/post/i-am-fabien-potencier-creator-of-symfony-php-framework-ask-me-anything-cjrgm6vpu00azufs1ayr4h86m
[48] Сериализация данных на уровне базы: https://habr.com/ru/post/438460/
[49] brendt/aggregate.stitcher.io: https://github.com/brendt/aggregate.stitcher.io
[50] beyondcode/laravel-favicon: https://github.com/beyondcode/laravel-favicon
[51] 11 вспомогательных функций для Laravel: http://calebporzio.com/11-awesome-laravel-helper-functions/
[52] Laravel Snippet #4: https://blog.laravel.com/laravel-snippet-4
[53] #5: https://blog.laravel.com/laravel-snippet-5
[54] Видеозаписи Laracon EU 2018: https://www.youtube.com/playlist?list=PLMdXHJK-lGoC64wnqvm6v1R5dsuAV-MpS
[55] Yii 2.0.16: https://habr.com/ru/post/438394/
[56] Yii development notes #26: https://www.patreon.com/posts/24442238
[57] iiifx-production/yii2-autocomplete-helper: https://github.com/iiifx-production/yii2-autocomplete-helper
[58] Неочевидный RabbitMQ в Yii2: https://habr.com/ru/post/439080/
[59] reactphp/event-loop v1.1.0: https://github.com/reactphp/event-loop
[60] shuchkin/react-smtp-client: https://github.com/shuchkin/react-smtp-client
[61] Скачиваем изображения: https://www.youtube.com/watch?v=t7iI8WLjirc
[62] Дайджест Joomla за Январь 2019: https://habr.com/ru/post/439240/
[63] Magento Tech Digest #44: https://www.maxpronko.com/magento-tech-digest-44/
[64] Выявление багов с помощью @template: https://medium.com/vimeo-engineering-blog/uncovering-php-bugs-with-template-a4ca46eb9aeb
[65] vimeo/psalm: https://github.com/vimeo/psalm
[66] phan: https://github.com/phan/phan
[67] Контекстные менеджеры в PHP: https://ttmm.io/tech/php-context-manager/
[68] Переход с Go обратно на PHP: https://dannyvankooten.com/from-go-back-to-php-again/
[69] Видеозаписи Onliner PHP Meetup #3: https://www.youtube.com/playlist?list=PLx2IchnH8dHhjkm3ee9l8JNtTOG7s7EDA
[70] PHP для начинающих. Сессия: https://habr.com/ru/post/437972/
[71] Composer для самых маленьких: https://habr.com/ru/post/439200/
[72] Что почитать по PHP на русском?: https://habr.com/ru/company/mailru/blog/428435/
[73] BotMan знакомство: https://habr.com/ru/post/438936/
[74] Паттерн Интерактор (Interactor, Operation): https://habr.com/ru/post/438052/
[75] Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения: https://habr.com/ru/company/badoo/blog/436364/
[76] личку: https://habrahabr.ru/conversations/pronskiy/
[77] почту: mailto:roman@pronskiy.com
[78] твиттер: https://twitter.com/pronskiy
[79] PHP Digest: https://t.me/phpdigest
[80] Прислать ссылку: https://bit.ly/php-digest-add-link
[81] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[82] Предыдущий выпуск: PHP-Дайджест № 148: https://habr.com/ru/post/437752/
[83] Источник: https://habr.com/ru/post/439780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=439780
Нажмите здесь для печати.