PHP Digest number 142 (October 15 - 29, 2018)
Fresh selection with links to news and materials. In the release: The future of PHP and Zend Framework, the PHP Internals RFC on performance enhancements, a portion of useful tools, a new PHP elephant is available for ordering, and much more.
Enjoy reading!
News and Releases
- The Future of Zend Engine and Zend Framework - Zeev Sourasky announced on his blog that he was leaving Rogue Wave, which in 2015 absorbed Zend. Together with Zeev, Matthew Weier O'Phinney and Enrico Zimuel leave , who were engaged in Zend Framework, Zend Expressive, Apigility, and Dmitry Stogov. Interestingly, the brands belong to the company Rogue Wave , it is possible to rename.
An interesting analysis of the situation from Stefan Priebsch . - PHP 7.3.0RC4 - 2-3 more release candidates are expected and the final release of PHP 7.3 is already on December 6th.
- Symfony st. Petersburg Meetup # 4 - PropellerAds (October 30, 2018)
Php internals
- [RFC] Preloading - The concept from Dmitry Stogov is designed into a full RFC. It is proposed to make it possible to preload files before processing requests. All classes and functions loaded in this way will be permanently available in the context of subsequent requests without the need to include them. In addition to productivity gains, this opportunity opens ways for further optimization.
- [RFC] Improve openssl_random_pseudo_bytes () - The function
openssl_random_pseudo_bytes()
may, in an obvious way, generate an insecure random sequence. It is proposed in this case to throw an exception.
Instruments
- spiral / php-grpc - High-performance GRPC server based on spiral / roadrunner . Supports running PHP and Golang services within a single application.
- spatie / value-object - A value object with additional helpers.
- cebe / php-openapi - A tool reads OpenAPI files with a description of services into easy-to-use PHP objects.
- makasim / php-fpm-queue - Allows you to use php-fpm as a simple asynchronous queue. Read more about the idea in the post .
- php-pds / skeleton - One-time attempt to implement a standard on the structure of PHP packages.
- adsr / phpspy - Lightweight sampling profiler for PHP 7. Does not require the launch of an extension, but joins an already running PHP process.
- NoiseByNorthwest / php-spx - Simple, but interesting profiler for PHP with UI out of the box. Demo.
Study materials
Symfony
- Symfony Week # 617 (October 22-28, 2018)
- Symfony Week # 616 (October 15-21, 2018)
- Symfony 4.2: Important features that are deprecated
- yemiwebby / symfony-hackathon-starter - Template symfony application for quick prototyping.
Yii
Laravel
- Laravel Telescope - Another tool in the Laravel ecosystem. This time extended debug panel. Detailed review .
- Do you really need entrust or laravel-permission to implement your authorization?
- Expand Laravel with Kubernetes
- Pragmatic WHERE LIKE search by Eloquent models
- nuwave / lighthouse - GraphQL for Laravel. Under the hood uses webonyx / graphql-php .
Async php
- concurrent-php / psr-http - Asynchronous HTTP client that meets PSR standards. Sent by @dmitrybalabkaHidden textВ рамках проекта concurrent-php/ext-async по реализации поддержки асинхронных IO операций в PHP, реализован HTTP клиент отвечающий PSR стандартам. Это показывает возможность интеграции поддержки concurrent-php/ext-async в существующие PHP библиотеки с сохранением обратной совместимости. Важно отметить, что при реализации корутин при помощи генераторов, асинхронная функция/метод начинает возвращать объект Generator, что мешает сохранить обратную совместимость интерфейса
- amphp / parallel 1.0.0 - Component of the Amp family for parallel execution of PHP processes with synchronization support, shared memory and other features.
- clue / reactphp-buzz 2.5 - An easy to use asynchronous HTTP client. Fresh post in support .
- M6Web / Tornado - Another asynchronous PHP engine with its own Event Loop implementation and adapters for ReactPHP and Amp .
- Asynchronous Zend Expressive with Swoole
- Manage concurrency: promises, generators, corutines
- ReactPHP Tutorial # 13: Asynchronous Download
- Asynchronous WEB in 2018. We write chat on Websocket using Swoole
- concurrent-php / psr-http - Asynchronous HTTP client that meets PSR standards. Sent by @dmitrybalabka
CMS
- Magento Tech Digest # 34: Oct 8 - 22, 2018
- Vulnerabilities in Drupal 7, 8
- WordPress 5.0 Beta 1 - New Gutenberg editor , new theme, and other improvements.
- Comparative and detailed analysis of caching plugins for WordPress
Phpstorm
- PhpStorm 2018.3 EAP 183.3975.17 - In the new EAP build, view the GitHub pull requests added.
- Sharing Snippets in PhpStorm - Out of the box in PhpStorm there is a set of snippets called live templates, but you can add more from GitHub or share your own.
- PHPStorm tips for advanced users
- Connect PhpStorm tasks to Bitrix24
- Update your PHP - Selection of reasons and facts, why you need to upgrade to the latest version of PHP. Sent berezuev .
- Domain Organization - Structuring a large code base using DDD.
- About the difference between array_merge and + operator for arrays
- Christopher Pitt, the author of a book about asynchronous PHP , as well as a preprocessor for PHP preprocess.io, writes about creating a blog using a preprocessor and a JSX-like syntax .
- Security leaving you
- Automation with Codeception + Gherkin + PageObject for the smallest
- Static analysis of PHP code on the example of PHPStan, Phan and Psalm
Audio and video
Entertaining
- PHP is dead ... Long live PHP!
- hasegawa-tomoki / php-terminal-nes-emulator - NES (Dendy) emulator for PHP.
- Limited edition elephants from the PHP Roundtable podcast are available for order.
Thanks for attention!
If you notice an error or inaccuracy - please inform the PM .
Write questions and suggestions by mail or twitter .
Send link
Search links for all digests
← Previous release: PHP Digest number 141