PHP Digest No. 77 - interesting news, materials and tools (January 1 - 17, 2016)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
- PHP 5.6.17, 5.5.31 and PHP 7.0.2 - Updates of current branches with fixes for security problems: buffer overflow in escapeshell functions, incorrect type handling in XMLRPC, two problems with packet deserialization in the WDDX extension, the ability to read from areas outside the buffer in gdImageRotateInterpolated, buffer overflow in FPM. Also 7.0.2 improved stability.
- Yii 1.1.17
- Lumen 5.2
- Drupal Project turns 15
- PrefaShop on Symfony - The popular e-commerce platform in the next release will be rewritten using the Symfony framework and its components.
- PHP 5 will be supported until the end of 2018 - A proposal was accepted to extend support for PHP 5, which means that another 5.6 years will be actively updated and then two years in the security bug fix mode.
- PHAP - A PHAP project has been announced that promises the possibility of developing mobile applications in PHP.
Php
- RFC: Adopt Code Of Conduct - Anthony Ferrara has proposed introducing a formal code of conduct for a PHP project. The rules are based on the popular Contributor Covenant and are supplemented by sections on resolving conflicts and applying punitive measures to violators.
The proposal generated a wave of discussions and a series of posts ( 1 , 2 , 3 ).
- RFC: Simple Cryptography Library - It is proposed in PHP 7.1 to implement the Crypto layer abstracting work with cryptographic functions on top of Libsodium and OpenSSL. At the same time, Libsodium itself is proposed to be included in PHP 7.1, and mcrypt - to be fixed .
- RFC: Allow specifying keys in list () - It is proposed to add the ability to specify keys in
list():list("name" => $this->name, "colour" => $this->colour) = $attributes; - The RFC: the On-the Name mangling 'demand - suggest disabling automatic conversion parameter names in the superglobals:
a.b, a%20b, a[b => $_GET['a_b']. - RFC: Warn about invalid in arithmetic strings - suggested throw
E_NOTICEandE_WARNINGwhen using non-numeric strings where the expected number:$numberOfPears = 5 * "orange"; // E_WARNING$numberOfApples = "10 apples" + "5 pears"; // E_NOTICE - The RFC: array_key_ (first | for last | index) - It is proposed to add a function
array_key_first(),array_key_last(),array_key_index()that returns the array key by index (ordinal number). - The RFC: Operator Overloading - proposed to add a magical method to implement operator overloading
__add(),__sub(),__mul(),__div(),__pow(),__concat().
Instruments
- atlasphp / Atlas.Orm - Data mapper for persistance model - Passive Record.
- fruux / sabre-xml - Library for convenient work with xml. A post about using the latest version.
- padraic / humbug - Mutation testing framework .
- alexpts / php-simple-events - Simple event dispatcher. Sent AlexPTS .
- bixuehujin / blink - A demon web framework based on the swoole extension . A post with a review of the framework.
- kapolos / pramda - A set of functions for convenient use of the functional approach in PHP.
- ellipsesynergie / api-response - A tool for managing API responses.
- plumphp / plum - Pipeline for data processing in PHP.
- sebastianfeldmann / phpbu - Tool for managing database and file backups.
- fusonic / linq - Implement LINQ 2 objects for PHP. There is also an Athari / YaLinqo .
- malukenho / PsyGit - A library for working with Git from PHP.
- PHPFastCGI / FastCGIDaemon - FastCGI daemon implemented in PHP. Allows you to demonize the application, and not restart on each request. Adapters for Slim, Symfony, Silex, Drupal, Zend Expressive implemented .
- VerbalExpressions / PHPVerbalExpressions - Allows you to construct regular expressions in a fluid interface.
Learning Materials
Symfony
- TDD for your APIs using Symfony and PHPUnit
- Benchmarks Symfony: Symfony Proxy vs. Varnish
- Symfony Benchmarks: PHP 5.6, HHVM 3.11 and PHP 7.0.1
- Benchmarks Symfony: Symfony Microkernel, Lumen, Silex, Slim ...
- Benchmarks Symfony: PHP-FPM vs. PHP-PM (in PHP 7 and HHVM)
- Symfony Benchmarks: Scaling PHP by Adding CPU & RAM
The largest sites on the symfony2 framework
Pagekit: Overview of Modular Symfony-based CMS
Symfony 3 Starter Video Tutorials- True Dependency Injection in Symfony2 Application
Yii
ActiveRecord's inheritance describing a single table (single table inheritance pattern) in Yii2
Yii2 bad behaviors- Yiimine - Redmine analog on Yii Framework.
- Ideas for Yii 2.1
Laravel
- Objects in PHP 7 - A great post from Julien Pauli about the features of the internal implementation of objects in PHP 7.
- A detailed tutorial on optimizing performance with Blackfire - About using an online profiler from SensioLabs.
- Optimize league / commonmark with Blackfire
- Introduction to the WP REST API
- New MongoDB Drivers for PHP and HHVM: Architecture
- Guzzle Wunderlist API Tutorial
- Improving DI in PHP Applications with Zend Framework Plugin Managers
- About designing and implementing a hidden backdoor in a web application
- Programming Principles for PHP Developers - Part 1: Reducing Complexity
- Porting Clojure Functions to PHP to Improve Functional Programming
- Repository demonstrating common web application vulnerabilities
The principles that make successful frameworks
Configuration values are also dependencies
How to make your own contribution to the Open Source project: simple tips
Collect the best of two worlds - frameworks and CMS (part 3)
Weak Links in PHP 7
Quickly create phar files using Box
Entertaining
- donutdan4114 / conway-game-of-life-php - Implementation of the Life game in the form of a CLI script.
- PlacePhant - Stub Images with PHP Elephants.

Thanks for attention!
If you notice a mistake or inaccuracy - please inform me in PM .
Questions and suggestions write to mail or twitter .
Send links to interesting articles or useful tools that were not in the PHP Digests , and your name will be next to the link in the release.
Send link
Quick search for all digests
← Previous release: PHP Digest No. 76