PHP Digest number 146 (December 10 - 24, 2018) + Results of 2018

By tradition, we will summarize the outgoing year and recall the most significant events in the PHP world. And of course, links to the latest news, useful tools and interesting materials over the past two weeks.
Under the cut, you will also receive a drawing of PhpStorm licenses from JetBrains .
Happy reading and Happy New Year!
Short audio version of the digest in the five-minute PHP podcast PHP Issue №45
One of the main events of the year, of course, is the major release of the PHP 7.3.0 interpreter . For the seventh year in a row, the team delivers the latest version without delay.
The latest release of the PHP 5.6 branch was released , and I would like to say that the era of PHP 5 is gone, but a significant portion of the sites still use PHP <= 5.6.
One of the founders of Zend, Zeev Suraski, shared his plans for PHP 8 , among which were JIT, asynchronous capabilities, FFI, and preloading. Preloading has already been implemented and will be in the next version, but FFI, although implemented, is still in the vote and may be postponed. And of course, I want to remember the acceptedRFC on typed properties !
In October, however, Zeev announced that he and the Zend team, represented by Dmitry Stogov, Enrico Zimuel and Matthew Weier O'Phinney, would soon leave Rogue Wave (owned by Zend). We will wait for news about the future of the team next year.
For 2018, the group adopted several standards:
• PSR-15 : HTTP Server Request Handlers
• PSR-17 : HTTP Factories
• PSR-18 : HTTP Client
As well as a number of standards are under development:
• PSR-5 : PHPDoc
• PSR-12 : Extended Coding Style Guide
• PSR-14 : Event Dispatcher
One can not forget about the departure of Symfony from PHP-FIG .
Two major releases of symfony 4.1 and symfony 4.2 have been released . Discontinued support microframework Silex, because Symfony 4 can be used as microframework. And the latest news about the creation of an independent commercial company Symfony , which will develop and support the framework, as well as work on paid products around it, for example, Symfony Cloud .
Like Symfony, the Laravel framework in 2018 was marked by two major releases Laravel 5.7 and Laravel 5.6 . And with the release of a pair of new tools from the core-team Telescope and Nova . By the way, another full time developer Dries Vints joined the team .
Besides Yii 1.1.20 and Yii 2.0.14 , 2.0.15 , I saw the light of Yii 3.0.0 alpha 1 Although a message Pavel Klimov that Yii died , the work on the third version of the framework is intensified. A new member, Andrey Vasiliev , joined the core team , an overview of changes in Yii 3.0 and a document with plans are available .
In the world of asynchronous PHP, there were many interesting things in the past year. I came ReactPHP 1.0.0 LTS , as well as the PHP-PM 1.0 . The books ReactPHP for Beginners and Studying Asynchronous PHP with ReactPHP are published . Amphp and tools based on it are also actively developing .
Posted proposal [RFC] Fiber , as well as the ext-async extension .
Separately, I would like to mention Swoole , which from Chinese crafts has grown into a powerful tool and has integration for all popular frameworks.
And what else has happened in the past year?
News and Releases
- HHVM 3.30 - The latest release of HHVM with PHP support.
- Nextcloud 15 - Release of the open analog cloud storage type Dropbox.
Instruments
- sebastianbergmann / foal - The tool will find those lines in the PHP code that will be deleted by the optimizer OpCache bytecode. The topic of the post is why Xdebug sometimes does not stop at breakpoint.
- jordanbrauer / unit-converter - Converts various units of measurement.
- danog / MadelineProto - Client / Server Telegram Protocol MTProto. Allows you to interact with Telegram without using the bot API. Habrapost with an example of getting a list of messages.
- PHP_CodeSniffer 3.4.0
- paragonie / corner - The package adds some useful information to standard exceptions and errors.
- mmasiukevich / service-bus - Amphp-based framework for building applications using Saga, CQRS, EventSourcing, Message Bus patterns.
Study materials
Symfony
- Symfony business model
- Symfony Week # 624 (December 10-16, 2018)
- Symfony Week # 625 (December 17-23, 2018)
Yii
- cebe / yii2-lifecycle-behavior - Allows you to set possible model states and transitions as a finite state machine.
- Understanding Yii 3 (draft)
Laravel
- Sample Pipeline for Laravel Application on Gitlab CI
- beyondcode / dusk-dashboard - Laravel Dusk visualization test panel . Introductory post in support.
Laravel Core Adventures - Video series about framework internals.
Async php
- clue / reactphp-ssh-proxy - Asynchronous (ReactPHP) SSH proxy connector for tunneling any TCP / IP traffic over SSH. Post in support.
- concurrent-php / ext-async - A powerful and actively developed extension for adding asynchronous features in PHP. At the same time, it is possible to transparently replace standard blocking functions, like
sleep
or work with the file system, with asynchronous ones. Fast web scraping on ReactPHP # 2: saved in MySQL
- About Corutinos in PHP Swoole - An example of using Corutin and communication through channels a la Golang.
CMS
- Magento 2 Store Speed Optimization Guide - Sent by @onilab_rescue
- Magento Tech Digest # 40: Dec 10 - 17, 2018
- Drupal 9 release plan
- WP-CLI v2.1.0
SPA Development (Single Page Application) on WordPress
Security
- ollyxar / php-malware-detector - A simple malware scanner based on a set of regulars .
- WordPress 5.0.1 fixes a vulnerability leading to password indexing by search engines.
- Automatic search for vulnerable functions not prohibited through disable_functions
- PhpMyAdmin critical vulnerabilities
- guardrailsio / awesome-php-security - Selection of resources and materials on security in PHP.
- Naming Guidelines by Alexandr Makarov
- Example of creating custom PHP runtime for AWS Lambda
- The myth of the drawbacks of static methods and properties and the real pros and cons.
- About migration from Docblock types to PHP
- 9 PhpStorm tricks from Kirill Smelov in gifs
- PHP 5.6, 7.0, 7.1, 7.2 and 7.3 Benchmarks - Tests on WordPress, Drupal, Magento 2, Laravel, Symfony, etc.
What's New in PHP 7.3 - Review of changes from the author of the translation of PHP documentation into Russian lex111 .
Introduction to PHP Reflection API
New Year's draw
In the comments on this post or in the retweet of this tweet answer the question:
What is your favorite feature of PhpStorm?
There are 3 annual licenses for PhpStorm ! Two winners will be selected randomly from among those who wrote a comment or retweeted with a comment. And the author of the most interesting / non-obvious comment in my opinion will receive one license.
Winners will be announced
Upd: Due to the circumstances, 27/12 will be unavailable, so the winners will be announced on January 3. But still those who leave a comment until December 27, 21:00 MSK will participate. Thank you for understanding!
So what's your favorite feature?
results
Thank you very much to everyone who participated in the contest and wrote about their favorite feature PhpStorm! Winners determined random.org.
- Among the commentators, by a lucky chance, the first comment from HerrDirektor was winning .
- Many people wrote on Twitter only replays, however, according to the conditions of the contest, it was necessary to retweet with the answer. Therefore, those who quoted a tweet (retweet with a comment) or answered + retweeted. And the winner was @ huhuh25 .
- Well, I liked the nProfessor's comment most of all , in which he showed the Productivity Guide. PQR also wrote about him, but still, nProfessor was the first.
Congratulations to the winners! All the holidays!
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 for links on all digests
← Previous release: PHP Digest number 145