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

Свежая подборка со ссылками на новости и материалы. В выпуске: взломан репозиторий PEAR, о будущем Xdebug, конференция PHP Russia 2019, свежие релизы, RFC предложения из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
Onliner PHP Meetup #3 [14] — Минск, 9 февраля.
PHP Russia 2019 [15] — 17 мая в Москве состоится специализированная PHP-конференция!??= наконец-то закончена и смержена. Несмотря на кажущуюся простоту задачи, имплементация оказалась весьма нетривиальной [20].$a ??= $b эквивалентно $a ?? ($a = $b). В случае $a[foo()] ??= bar() функция foo() будет вызвана ровно один раз, а bar() будет вызвана, если $a[foo()] равно null (или не установлено).// Returns array containing all the necessary state of the object.
public function __serialize(): array;
// Restores the object state from the given data array.
public function __unserialize(array $data): void;
Данное изменение призвано исправить проблемы интерфейса Serialiazable. К сожалению, исправить сам интерфейс невозможно, но в случае принятия предложения будет рабочая альтернатива.
class MotorCycle {
public $vendor;
public $cc;
public $whells = 2;
public function __construct($vendor, $cc) {
$this->vendor = $vendor;
$this->cc = $cc;
}
//other methods
}
class MyCustomMotorCycle extends MotorCycle {
public function __construct($cc, $whells) {
parent::__construct("Custom", $cc);
// $this->cc = $cc; this statement will be added within proposed realisation
$this->whells = $whells;
}
}
для кода выше предлагается следующий альтернативный синтаксис:
class MotorCycle($vendor, $cc){
public $whells = 2;
//other methods
};
class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ };
Видеозаписи SymfonyCon 2018 [39] — Среди которых доклад Фабьена о локальном дев сервере [40].
Подкаст от Тейлора Laravel Snippet #2 [47]
Создание сторис для Instagram из PHP [62]
Работа начинается с тестирования [63]
Сравниваем PHP FPM, PHP PPM, Nginx Unit, React PHP и RoadRunner [64]Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [66].
Вопросы и предложения пишите на почту [67] или в твиттер [68].
Больше новостей и комментариев в Telegram-канале PHP Digest [69].
Прислать ссылку [70]
Поиск ссылок по всем дайджестам [71]
← Предыдущий выпуск: PHP-Дайджест № 147 [72]
Автор: Роман Пронский
Источник [73]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/306707
Ссылки в тексте:
[1] Репозиторий PEAR был взломан: https://thehackernews.com/2019/01/php-pear-hacked.html
[2] pear.php.net: http://pear.php.net/
[3] вручную скачивали: https://twitter.com/pear/status/1088450623249408003
[4] GitHub: https://github.com/pear/
[5] скрипт: https://gist.github.com/mlocati/ba9a9bad0ad5f09cd92c3b2897283b42
[6] установки PEAR-пакетов: https://twitter.com/pear/status/1088234418039414785
[7] сборки PHP из исходников: https://twitter.com/lexbi/status/1088049834270121984
[8] Будущее Xdebug: https://derickrethans.nl/xdebug-experience.html
[9] уходит из MongoDB: https://derickrethans.nl/moving-on-from-mongodb.html
[10] его Patreon: https://www.patreon.com/derickr/overview
[11] Кто оплачивает разработку PHP?: https://thephp.cc/news/2019/01/who-pays-for-php
[12] igphp.de: https://igphp.de/
[13] Компания Perforce поглотит Rogue Wave Software: https://www.perforce.com/press-releases/clearlake-capital-backed-perforce-software-acquire-rogue-wave-software
[14] Onliner PHP Meetup #3: https://onliner-eng.timepad.ru/event/894821/
[15] PHP Russia 2019: https://phprussia.ru/
[16] посте Александра Макарова: https://rmcreative.ru/blog/post/php-russia-2019--nachalo
[17] @PHPRussiaConfChannel: https://t.me/PHPRussiaConfChannel
[18] @PHPRussiaConfTalks: https://t.me/PHPRussiaConfTalks
[19] [RFC] Null Coalescing Assignment Operator: https://wiki.php.net/rfc/null_coalesce_equal_operator
[20] оказалась весьма нетривиальной: https://github.com/php/php-src/commit/a50198d0fef652ca052cda642d6e98a9101eb73f
[21] коротких операторах в PHP: https://stitcher.io/blog/shorthand-comparisons-in-php
[22] [RFC] New custom object serialization mechanism: https://wiki.php.net/rfc/custom_object_serialization
[23] [RFC] Code free constructor: https://wiki.php.net/rfc/code_free_constructor
[24] API Platform: https://github.com/api-platform/core
[25] много другого: https://dunglas.fr/2019/01/api-platform-2-4/
[26] xobotyi/php-mime-type: https://github.com/xobotyi/php-mime-type
[27] jshttp/mime-db: https://github.com/jshttp/mime-db
[28] xobotyi: https://habr.com/ru/users/xobotyi/
[29] PHPStan 0.11: https://github.com/phpstan/phpstan
[30] Анонс релиза: https://medium.com/@ondrejmirtes/phpstan-0-11-5aba0e4108c8
[31] видео о внутренностях PHPStan: https://www.youtube.com/watch?v=85Aq2rWpGQE
[32] Symplify/Statie: https://github.com/Symplify/Statie
[33] Быстрый старт: https://www.tomasvotruba.cz/blog/2019/01/07/how-to-create-your-first-php-twig-static-website-under-2-minutes-with-statie/
[34] leocavalcante/siler: https://github.com/leocavalcante/siler
[35] Swoole: https://siler.leocavalcante.com/swoole
[36] directus/directus: https://github.com/directus/directus
[37] mgp25/Instagram-API: https://github.com/mgp25/Instagram-API
[38] bmitch/churn-php: https://github.com/bmitch/churn-php
[39] Видеозаписи SymfonyCon 2018: https://symfonycasts.com/screencast/symfonycon2018
[40] доклад Фабьена о локальном дев сервере: https://symfonycasts.com/screencast/symfonycon2018/back-to-basics
[41] Неделя Symfony #629 (14-20 января 2019): https://symfony.com/blog/a-week-of-symfony-629-14-20-january-2019
[42] Неделя Symfony #630 (21-27 января 2019): https://symfony.com/blog/a-week-of-symfony-630-21-27-january-2019
[43] beyondcode/laravel-mailbox: https://github.com/beyondcode/laravel-mailbox
[44] spatie/laravel-eventsauce: https://github.com/spatie/laravel-eventsauce
[45] EventSauce: https://github.com/eventsaucephp/eventsauce
[46] vanilophp/framework: https://github.com/vanilophp/framework
[47] Laravel Snippet #2: https://blog.laravel.com/laravel-snippet-2
[48] dantleech/fink: https://github.com/dantleech/fink
[49] amphp/artax: https://github.com/amphp/artax
[50] reactphp/child-process v0.6.0: https://github.com/reactphp/child-process
[51] посте: https://www.lueck.tv/2019/introducing-reactphp-child-process
[52] magento/magento-coding-standard: https://github.com/magento/magento-coding-standard
[53] Рекомендации по использованию Drupal без фронтенда (decoupled) в 2019: https://dri.es/how-to-decouple-drupal-in-2019
[54] ускорению подсчета покрытия кода: https://thephp.cc/news/2019/01/faster-code-coverage
[55] krakjoe/pcov: https://github.com/krakjoe/pcov
[56] Почему важно полировать код до мелочей: https://marcelpociot.de/blog/polish-your-code
[57] об использовании препроцессора: https://assertchris.io/post/2019-01-19-phpx-live
[58] preprocess.io: https://preprocess.io/
[59] Мое современное рабочее окружение для PHP: https://johnmackenzie.co.uk/post/my-modern-php-development-setup/
[60] когда объявлять классы финальными: https://ocramius.github.io/blog/when-to-declare-classes-final/
[61] свежее дополнение: https://www.tomasvotruba.cz/blog/2019/01/24/how-to-kill-parents/
[62] Создание сторис для Instagram из PHP: https://habr.com/ru/post/436514/
[63] Работа начинается с тестирования: https://habr.com/ru/post/436714/
[64] Сравниваем PHP FPM, PHP PPM, Nginx Unit, React PHP и RoadRunner: https://habr.com/ru/post/431818/
[65] Code Galaxies: https://anvaka.github.io/pm/#/galaxy/composer?cx=1906&cy=4425&cz=-5758&lx=-0.2126&ly=0.8890&lz=0.3145&lw=0.2560&ml=150&s=1.75&l=1&v=2015-12-11T00-38-00Z
[66] личку: https://habrahabr.ru/conversations/pronskiy/
[67] почту: mailto:roman@pronskiy.com
[68] твиттер: https://twitter.com/pronskiy
[69] PHP Digest: https://t.me/phpdigest
[70] Прислать ссылку: https://bit.ly/php-digest-add-link
[71] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[72] Предыдущий выпуск: PHP-Дайджест № 147: https://habr.com/ru/post/435956/
[73] Источник: https://habr.com/ru/post/437752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=437752
Нажмите здесь для печати.