
Best of the PHP World 2014 + Competition from JetBrains! PHP Digest No. 53

Following the tradition, we decided to take stock of the outgoing year and highlight the most significant events in the world of PHP, which, fortunately, were many. And of course, a selection with links to fresh material over the past three weeks.
Under the cut you will also find a competition with prizes from the company JetBrains ! In fun betting last year won chris_griffin with the assumption:

Php will become the official language in India.
Fortunately, this did not happen, but the steppefox forecast , which took third place, was largely close to reality:
1. The popularity of HHVM will increase.
2. In the spring beta Yii2 will be released, a stable release in late autumn
3. In the Russian Federation they will make their own small Laracon 2014
4. Several dozens of failed articles in the spirit of “Your PHP is not very” or “my favorite language” vs PHP will appear on Habré.
5. Translate into a Russian book on Laravel.
6. A book on Phalcon will be released
7. Another framework will try to break into the PHP scene
8. The rules of Zend certification will
change 9. Finally, elephants can be ordered humanly

Of course, the most important event of the year was the release of a new major version of the interpreter - PHP 5.6. The release introduced many new features: scalar expressions in constants , functions with a variable number of arguments , exponentiation operator ** , import of functions and constants from namespaces , the built-in debugger phpdbg , operator overloading for GMP objects and other extensions .
A pleasant surprise was the project, code-named PHPNG, the next-generation PHP interpreter. And it all started with the message of Dmitry Stogov in php.internalsand the corresponding branch in the repository. A lot of work has been done to optimize the Zend Engine. The branch was poured into master and became the basis of the next version of the interpreter. PHPNG performance already exceeds PHP 5.6 and catches up with HHVM.
Also, based on the results of heated discussion and voting, it was decided to release this very next version under number 7 and according to the plan, the release should take place already in the coming year.
The outgoing year also pleased the emergence of a formal specification of the PHP language .
Best of luck to the PHP Group in 2015!

The Yii 2.0 release - an event that many have been waiting for so long, finally took place this year! First, the beta release , and then the release candidate that followed, andGA . Excellent documentation and guidance , as well as affordable books ( Yii 2 For Beginners , Web Application Development With Yii 2 And PHP ) will help you quickly get started with the framework.

The most popular PHP framework this year was indicated by releases 2.5, 2.6. The Symfony project is 9 years old , and more and more universal solutions are being created on the basis of the framework . Not to mention the widespread use of Symfony-components and the creation of their own frameworks based on them .

Facebook's alternative PHP virtual machine continues to evolve, release 3.0.0 introduced. Some large projects are switching to using HHVM - this is Wikipedia and, for example, Box . However, the announcement of the HACK language built into HHVM was really interesting . The language is an improved PHP with such desirable features as static typing, lambda expressions, generics, asynchrony, and others.
Among other alternative PHP implementations that appeared in 2014, I would like to mention KPHP , PH7 , HippyVM , JPHP , Recki-CT .

The triumphal procession of the dependency manager for PHP continued in 2014. PEAR is finally dead, PHPUnit abandoned channel support, Twig , Swiftmailer , Symfony and others. Engine Yard has provided a grant of $ 15k per year to support Composer , represented by one of the authors, Nils Adermann. Another author, Jordi Boggiano, has been developing a commercial Toran Proxy to support Composer. We wish them good luck in the new year!

The official PHP mascot, ElePHPant elephant , was created by Vincent Pontier in 2007. But in 2014, he experienced a new boom. First, the guys from php [architect] launched a Kickstarter campaign.with the goal of raising $ 1000 to create orange PHP elephants. In less than a day they managed to raise more than $ 20,000! Then the PHPWomen community successfully ran a purple elephant campaign - $ 26,395. And at the end of the year, the campaign with black elephants from AmsterdamPHP .
More flowers, more elephants in the new year!
News and Releases
Composer
How Composer accelerated by 70% - A truly legendary commit in which the circular link collector was disabled. Detailed analysis can be found here . Instead blackout also proposed to use a trick
gc_enable(); gc_collect_cycles(); gc_disable();
.- Minimum allowable dependency versions in Composer - The ability to use the flag to install the minimum version packages has been added to the popular dependency manager
--prefer-lowest
. - Сomposer files are indexed by Google - On many sites, the composer.lock and composer.json files are located in the web root and are actually indexed , which is potentially dangerous.
- Melody - single-file Composer scripts - The tool allows you to describe Composer dependencies directly in a php file.
- Composer 1.0 alpha9 - Overview of the latest innovations.
- PHP_CodeSniffer 2.0.0 - 19 months of work and many useful features, including auto-fixes and much more.
WordPress updated to version 4.1
Yii 2.0.1
- TYPO3 7.0 - After two years of development, the release of the open web content management system TYPO3 7.0 is published.
- PHP 5.6.4, 5.4.36 and 5.5.20 - Updates of current branches, which fixed vulnerabilities in the code for unpacking serialized data, and also fixed 20 other errors.
Php
- RFC: Scalar Type Hints - Another attempt to implement type hinting for scalars in PHP.
- The RFC: the Unicode codepoint the Escape Syntax - A proposal to add the ability to set Unicode characters in code:
echo "\u{202E}Reversed text";
. - RFC: Nullsafe Calls - Suggestions to add a new operator
?->
that will allow you to make secure call chains, in case the return value can benull
:$o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();
Instruments
- PHProutine - Goroutine emulation in PHP.
- ProxyManager 1.0.0 - A library for generating and managing proxy objects.
- Omnipay - Easy-to-use payment processing library for PHP 5.3+.
- Box Project - A tool for conveniently creating and managing phar archives.
- Elephant.io - WebSocket client.
- Couscous - Generator of GitHub Pages documentation site.
- brandonsavage / booboo - An advanced exception and error handler in PHP. Supports various types of error information display.
- commando / dogpatch - A framework for testing the HTTP API using curl.
Learning Materials
Laravel
Symfony
VarDumper - a new component in Symfony 2.6
How to just make friends Symfony2 and RequireJS on the example of SPA
- Unpacking Symfony2: What are compiler passes
- Going SOA with Symfony2: A year and a half down the road
- Converters (Transducers / Transducers) in PHP - The concept of transducers, introduced recently in Clojure , has now found its implementation in PHP.
- About the supported version of PHP - It became known that CodeIgniter 3.0 will support 5.2 . In a post, Anthony Ferrara discusses this topic.
- Async - Multitasking for Hack
- Expert PHP Deployments - A free book on deploying PHP applications with Capistrano, Phing, and Vagrant.
- QA process for PHP projects using Jenkins - Installation, configuration, plugins for PHP.
- 3 ways to create cross-platform desktop applications in PHP - Reviewed Nightrain , wxPHP and TideSDK .
- About how code coverage works in conjunction with PHPUnit and Xdebug
- Implement traits in Zend Framework 2
- PHP vs Ruby - Application Expiration Date - The first of a series of posts about why the author in his company after 5 years of using Ruby returned to PHP.
- Paying Bitcoin with Coinbase and Bitpay
- Using Traits in Doctrine Entities
- Simple read / write sharing with PHP extension MySQLnd
- Stack Machines: Compilers - A series of posts by Igor Wiedler on stack machines , and a guest post by Anthony Ferarra on compilers.
Composer It is not safe to use packagist and a private package source at the same time
WordPress for Paranoid Part 1
How we tried to implement Yandex.Cash
Shared hosting and php5.4, when already?
The digest of interesting materials from the world of Drupal
Processing and reporting in Excel in PHP
DOMPDF - export data from PHP to PDF
Some Drupal Acceleration Tips
Random Person Generator
Namespaces in PHP
Audio and video
PHP at 5,000 queries per second: Hootsuite Scaling History , 2
Interview with Zeev Surasky for PHP Frameworks Day 2014
Send link
Quick search for all digests
← Previous issue
New Year's contest
PHP-Digest together with JetBrains in the last digest of the outgoing 2014 announce a competition among regular readers.
We invite you to identify the best worker in the PHP community in 2014. In the comment write the name of the most worthy candidate and explain for what contribution in the past year it can be considered the best.
The authors of the three comments with the most votes will receive excellent New Year's gifts. The company JetBrains all three award winners personal license PhpStorm the IDE ! Each winner will also receive a T-shirt with the PHP logo from the #ITStuff online store .
But the most important thing is the nominee who will gain the most pluses, along with the title "Person of the Year according to the PHP Digest" will be sent to the same PHP group: The results will be announced on December 26 at 19:00 Moscow time. Let's remember together who was the best of 2014?

Competition Results
So, according to the results of the vote, Dmitry Stogov receives the title "Man of the Year 2014 according to the PHP-Digest" and we will send Dmitry a PHP mug!
Among the readers we have three winners! Merkushin
takes the first place and receives a personal license for PHPStorm from JetBrains , as well as a T-shirt with the PHP logo from the #ITStuff store .
Dmitry Stogov with PHPNG, of course!
The second, according to the results of the vote, was hell0w0rd , who nominated Nikita Popov. And also receives a license for PHPStorm and a T-shirt.
Nikita Popov, with his router, AST, contribution to php - traits, generators, version 7 (AST, arguments inside the kernel, a bunch of refactoring along with Dmitry Stogov).
The third rated nominee was Fabien Potencier. Comment author nazarpc is awarded a PHPStorm license and t-shirt.
Fabien Potencier
Symfony2 is already like WordPress among CMS, and even gets into CMS / CMF (Symfony CMF, Drupal 8).
Many thanks to all participants, as well as to JetBrains and #ITStuff for the gifts!
Unlimited thanks to all the members of the PHP community for your work and contribution to our common cause!
Happy New Year to all! May this year be more productive, rich and interesting for you!