
PHP Digest No. 57 - interesting news, materials and tools (February 9 - 22, 2015)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
- PHP releases: 5.6.6 , 5.5.22 and 5.4.38 - Updates of current branches. Two vulnerabilities were fixed and bugs were fixed . The vulnerability CVE-2015-0235 is related to the possibility of conducting a GHOST attack due to the direct transfer of arguments
gethostbyname()
to the corresponding Glibc function. Vulnerability CVE-2015-0273 is caused by accessing already freed memory areas when decoding DateTimeZone data through a callunserialize()
. - Announcement of the Hack language specification - The HHVM team from Facebook last year launched the PHP specification , which was picked up by the PHP group and is being actively developed. This time, the Hack specification was introduced , which, although largely identical to PHP, is not without its differences , of course.
- Expected in HHVM - New features are listed in the upcoming release of HHVM 3.6, such as asynchronous MySQL queries. As well as plans for 2015.
- Available for Purchase 3rd Edition Zend PHP 5 Certification Study Guide
Php
RFC: Scalar Type Hints - The proposal by right can be called the most controversial and discussed in the history of PHP. Pascal Martin described in detail the essence of the proposal in his post. Anthony Ferrara also spoke in support of the proposal, outlining arguments for his blog. Nevertheless, the stumbling block was the issue of strict typing and a number of fair counterarguments led by Rasmus Lerdorf in the comments , Zeev Surasky in php.internals and many others .
Voting ended with a result of 67 for and 34 against, which means that only one vote was not enough for its adoption. In this regard, the author of the proposal Andrea Faulds, announced that it is stopping work on PHPand withdraws its RFCs including Scalar Type Hints, Spaceship / Combined Comparison Operator, Void Return Type, Big Integer Support. Despite this, work on the proposal was picked up by other core contributors, which resulted in proposals from Anthony Ferrara - Scalar Type Hints v5 and from Zeev Surasky - RFC: Coercive Types for Function Arguments .- RFC: Combined Comparison (Spaceship) Operator - The proposal to add an operator,
<=>
although it was withdrawn, was later restored, accepted and merged into PHP 7. - RFC: Native Design by Contract support as definition - It is proposed to implement the possibilities of contract programming in the PHP language. Also a little earlier there was a similar proposal , but with the contracts indicated in the annotations.
- The RFC: the Make empty () a Variadic - proposed to add the function of
empty()
the ability to transmit any number of argumentsif (empty($a, $b, $c)) {}
. - RFC: Context Sensitive Lexer - Accepting this sentence will allow the use of certain keywords as class names or methods.
- RFC: In Operator - It is proposed to add a new operator
in
that will facilitate checking for the entry of an element in a string or array:$contains = "foo" in ["foo", "bar"]; // true
- RFC: Encapsulation - It is proposed to implement encapsulation of classes, interfaces, and traits at the namespace level. Thus, a class declared private in a namespace will only be available inside that namespace.
- RFC: Sum Types - Starting with version 5.1, the ability to explicitly specify the type of parameters has been added in PHP, and PHP 7 provides support for specifying the types of return values. It is proposed to add the ability to specify several types for these cases, for example:
function (array|Traversable $in) {}
Instruments
- Mondrian - A set of console utilities for static code analysis. Allows you to identify and refactor strongly connected code.
- RegExpBuilder - Regular expression constructor.
- wapmorgan / ServerStat - A utility for collecting information (cpu, mem, swap) for monitoring a server.
- Gatekeeper - A framework-independent library that implements the RBAC system with users, groups, rights.
- PHPBU - PHP Backup Utility - A utility for creating and synchronizing database backups and files.
- phptrace - Extension for tracing PHP scripts and outputting a call stack.
- MINI 2 - Skeleton application based on Slim microframework, designed for rapid prototyping.
- Pake - Make for PHP.
- appserver.io - A multi -threaded PHP application server for PHP.
- PHP Face Detection - Face recognition in PHP.
- Medio - Code generator using twig templates.
- ePHP - PHP interpreter in pure Erlang.
Learning Materials
Laravel
- What's New in Laravel 5
- Using StackPHP middleware in Laravel 5 - Laravel 4.1 implemented StackPHP compatibility, but Laravel 5 has its own interface for middleware components. A post on how to return compatibility.
- About Laravel CSRF Protection
How to build on DDD, the modular structure and areas of responsibility in Laravel. And then become happy =)
Laracasts.com: Laravel 5 Fundamentals - The Laravel development screencast series from start to finish.
Rapid application development - from idea to prototype in 1 h 45 min with Laravel
Symfony
Symfony2. A universal tool for quickly preparing tabular lists in the administrative panel
- Running Symfony 2 on PHP 7
Symfony2 Component Overview: Using the Data Converter
- Symfony2 cheat sheet
A dynamic call to $ this should not work, but it works - A good answer from Nikita Popov to StackOverflow about why it works
${'this'
}.- A brief introduction to the Silex microframework
- Graph databases using Neo4j and PHP
- Making a PHP startup: Geolocation and Google Places - Tutorial using Yii 2.
- Deploying applications with Envoy
- PHP Void: Much Ado About Nothing - Comment by Phill Sturgeon on the RFC proposal : Void Return Type .
- Setting up Jenkins with Codeception
How HHVM Uses C ++ for Fun and Use - The talk is more about C ++, but will be useful to those interested in the internals of HHVM.
- Using Travis CI to automate your blog on Sculpin
Parsing function calls in PHP
Custom project optimization in PHP
Poll: how do you solve the problem of synchronizing parallel requests in PHP?
PSR-7 in the examples - By the way, the standard went into the review phase and, possibly, will be adopted soon.
Debugging with XDebug and PhpStorm (add-on)
The digest of interesting materials from the world of Drupal # 4
How I Integrated WebSockets into an Existing PHP System
Entertaining
- Faces Of The Elephpant - Photo by figures of the PHP community.
- phpToday - An analogue of Hacker News for PHP links.
If you notice a typo or mistake, please write to me in PM!
Send link
Quick search for all digests
← Previous issue