PHP Digest number 144 (November 12 - 26, 2018)

Fresh selection with links to news and materials. In the release: PHP 7.3.0RC6, PhpStorm 2018.3 and other releases, Symfony leaves PHP-FIG, the latest offers and news from PHP Internals, a portion of useful tools, videos from past meetings and conferences and much more.
Enjoy reading!
News and Releases
- PHP 7.3.0RC6 - The sixth and, probably, the last release candidate of the 7.3 branch. With bated breath we are waiting for the final release already on December 6th. In the meantime, you can once again see what's new in 7.3 in recent reviews here and here . There are a few benchmarks available that show a performance gain of ~ 10% compared with 7.2.
- HTTP / 3 over QUIC - It is decided that the next HTTP standard will use QUIC, which in turn works over UDP, not TCP. A QUIC overview from CloudFlare is available , including a problem with NAT and other nuances.
PhpStorm 2018.3 is available
• DQL support
• PHP CS Fixer
• New refactorings
• Deployment to many hosts at the same time
• GitHub Pull Requests
and many other improvements!- Symfony leaves PHP-FIG - Symfony leader Fabien has removed himself and the framework from the list of members of the PHP-FIG group. And commented on his decision on Twitter :
In this light, Anthony Ferrar’s open letter to PHP-FIG seems to be still relevant , in which he says: “Please stop solving common problems. Solve 50% of problems, not 99%. ”
Two years ago, representatives of Laravel, Propel, Doctrine, Guzzle, Stash and Aura left the PHP-FIG group, mainly due to the fact that they didn’t particularly take part in the discussions.
Php internals
- RFC: Password Hashing Registry - Offer accepted for the next version of PHP and allows you to register your own hashing algorithms in extensions.
- RFC: Spread Operator in Array - It is proposed to add an operator
...
for arrays.Hidden text$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
- [RFC] Preloading - RFC vote on preloading files has ended. All core-team members unanimously supported this proposal. So next year at 7.4 we are waiting for the opportunity to preload any files into opkash. All functions and classes declared in these files will be available for all subsequent requests, as if they were inline elements like strlen () or Exception.
There are detailed discussions of support for this feature in Composer and Symfony (sent by @dmitrybalabka ), and also the concept of the Ayesh / Composer-Preload plugin is available .
Instruments
- spiral / roadrunner - High-performance application server, load balancer and process manager for PHP implemented on Go. In support of an interesting story about the creation of RoadRunner and a fundamental change in the approach to the development of PHP-applications.
- cebe / php-openapi - A tool reads OpenAPI files with a description of services into easy-to-use PHP objects.
- tgalopin / html-sanitizer - Library for processing, cleaning and sanitizing HTML data that came from the user. A symfony bundle is also available . Sent berezuev .
- jeremykendall / php-domain-parser - Domain parser that recognizes the registered part of the domain and the public suffix.
- nginxconfig.io - Nginx config generator.
- rryqszq4 / ngx_php7 - PHP interpreter embedded in Nginx. Allows you to create request handlers for PHP, modify the request / response, filter the response body and headers, and so on.
- php-decimal / ext-decimal - The extension implements decimal arithmetic with arbitrary precision and correct rounding. Post from the author in support.
- Hywan / php-ext-wasm - An experimental extension that allows you to run WebAssembly binaries directly from PHP. It can potentially give the ability to dynamically load modules implemented in other languages.
Study materials
Symfony
- yarhon / YarhonRouteGuardBundle - Bundle allows you to perform authentication checks for a specific route.
- Using Symfony Messenger with AWS SQS
Symfony Bundle for exporting statistics in Prometheus format
- Upgrading to use .env files for all versions of symfony - Instead,
.env.dist
now it's just.env
that it is commited to the GIT and you can create it.env.local
. - Symfony Week # 621 (November 19-25, 2018)
- Symfony Week # 620 (November 12-18, 2018)
Yii
- yiisoft / yii-project-template - Yii 3.0 web application template for those who want to touch the development version of the framework.
Laravel
- nuwber / rabbitevents - The package allows you to realize communication between independent web services by subscribing to events. Under the hood, Laravel Queue, Laravel Events and RabbitMQ.
- anlutro / laravel-settings - Allows you to store the configuration in the database.
- spatie / dashboard.spatie.be - Panel for displaying data on a TV screen in real time. Post in support.
- Dynamic relations in Laravel using subqueries
- A few tricks of Laravel that you might not know
Videos from Laracon AU 2018
Laracon EU 2018 - A portion of the video from European Laracon is also available.
Async php
- clue / reactphp-socks is a SOCKS proxy client and server based on ReactPHP. Post from the author in support.
- voryx / PgAsync - Asynchronous client for PostgreSQL in pure PHP (no extension required). Allows you to also listen to NOTIFY events.
- jakubkulhan / bunny - Asynchronous library for working with AMQP (RabbitMQ).
- wudi / swoole-ide-helper - Helper for IDE for Swoole.
Fast web scraping on ReactPHP # 1: Get data from HTML
CMS
- PSR-18: The PHP standard for HTTP clients - Once again about the recently adopted standard.
- A couple of articles on why it is better to use classes instead of arrays: one and two .
- Launch PHP on Android with PeachPie and Xamarin
- When to use a mono-repository for PHP projects
- PHP source fuzzing for error checking and more
The story of how we accelerated tests 12 times
Matrix is a terminal operating system in 10 Kb Javascript, for reactive PHP applications
Summary of the report “Monolith for hundreds of client versions” (HL2018, Badoo, Vladimir Yants)
PHP performance: we plan, profile, optimize
Audio and video
PHP Roundtable Podcast # 80 - Away Nikita Popov and Sarah Golman discuss PHP Internals, preloading, FFI, and other RFCs.
Video of the meeting in Minsk Onliner PHP Meetup # 2
Five-minute PHP: Issue number 41 — Audio version of this PHP Digest release.
Thanks for attention!
If you notice an error or inaccuracy - please inform the PM .
Write questions and suggestions by mail or twitter .
More news and comments on the PHP Digest telegram channel .
Send link
Search links for all digests
← Previous release: PHP Digest number 143