
Following the tradition, we decided to take stock of the outgoing year and highlight the most significant events in the PHP world, which, fortunately, were many. And, of course, a collection with links to fresh materials over the past three weeks.
Under the cut, you will also have a
contest with prizes from the
JetBrains company!
')

Of course, the most important event of the outgoing year was the release of a new major version of the interpreter -
PHP 5.5 . The release was not expectedly revolutionary, but the
inclusion of the Zend Optimiser + cached opcode into the distribution was a huge step forward. In addition, the release contained a number of useful innovations, such as
generators , a finally block and a number of others. More information on the links:
1 ,
2 ,
3 ,
4 ,
5 .
The release also marked the end of an epoch 5.3. The latest regular release of this thread
has already been released .
Not done in the past year and without problems. This, of course, is the recent hacking of
php.net , fortunately quickly discovered and fixed. As well as the
departure of Anthony Ferrara from php-internals , who, along with Nikita Popov, was a prominent representative of the progressive part of the PHP core development team.
2013 was a successful year for PHP, and the release of 5.5 and work on 5.6 make it possible to speak with confidence about the establishment of such a desirable PHP developers predictable release cycle.

Released this year, Laravel 4, no doubt, deserves the title of "breakthrough" of the year. The Internet was full of materials and tutorials on the framework six months before the final release, and after the
announcement their stream does not stop. The community has done a lot of work over the year, especially pleased with the number of various resources for any occasion. This
includes weekly collections of materials on
laravel.io , and the repository of extensions -
Packalyst , and screencast resource -
Laracasts ,
snippets and
tricks for Laravel archives, compilation of sites and applications made on the framework -
builtwithlaravel.com .
You can also add two successful Laracon conferences in the
USA and
Europe to the community account.

This year, Yii 2 was presented to the community. First, in the form of a
preview , and then a full
alpha release , the work on which has been going on for more than two years. Someone even uses
in production . Let me remind you that it was decided in
Yii 2 to use the features of PHP 5.4 .
The
samdark Yii Framework
has joined the PHP-FIG group . Also periodically began to go
dev-digest on Yii 2 .
And in branch 1.1 there was a massive release
1.1.14 .

The undisputed leader of the PHP frameworks this year was
2.2 ,
2.4, and, of course, the release with long-term support -
2.3 , which will last until 2016. Based on the framework, universal solutions were released, such as
Symfony CMF and
Sylius e-commerce
platform .
But, of course, nothing compares to the news of a
€ 5 million investment for the development of the Symfony ecosystem
The Facebook team that worked on HHVM has done an incredible job this year. And if earlier HHVM seemed to be an interesting solution, but suitable only for Facebook, now HHVM is a real tool that almost fully supports PHP 5.4, all popular frameworks work successfully, which is already talking about incredible performance. Installing a virtual machine is available to any user, thanks to the presence of
packages for popular Linux distributions and on OS X using
Homebrew . Windows users unfortunately so far deprived of attention.
HHVM can be easily
used on Heroku cloud hosting , and more recently on the popular
Travis CI continuous integration tool.
Also, the sensational news was
kPHP from vk.com, which, however, for us as PHP developers has so far remained only news.

React is nothing but the implementation of the
Reactor pattern in PHP. The library allows you to create asynchronous event-based applications a la Node.js. And, despite the skepticism that
PHP scripts should die , React successfully proves the practical applicability of PHP for solving this class of problems. And this year a lot of examples of using PHP in asynchronous applications were demonstrated: primarily
Ratchet ,
use with Arduino ,
creation of a search engine for React PHP ,
realtime chat on Laravel and Ratchet, and even
drone control .

A tool that can rightly be called one of the most revolutionary PHP in the world, a tool that changed the "game", literally blowing up the PHP community! The number of libraries is growing by leaps and bounds, and even the growing popularity of PHP seems to owe more to Composer, and not to any frameworks. PEAR de facto died.
This year the
seventh alpha release of version 1.0.0 took place.
Of the other important events of the year in the PHP world worth remembering:
News and Releases
- PHP 5.3.28 , 5.4.23 and 5.5.7 Updates - Corrective issues of current PHP branches and 5.3 branches. Fixed security bugs including critical ones . All users are encouraged to upgrade.
- HHVM 2.3.0 - New version of the PHP virtual machine with FastCGI and Travis CI support.
- Laravel 4.1 - New version of the popular framework.
- Joomla! Framework - Joomla Project introduced its own PHP application development framework. For familiarization, you can install the sample application .
WordPress 3.8 released "Parker" - The new version of WordPress saw the Light. New theme, updated admin interface and many other improvements.- Bolt 1.4.0 - A fresh version of CMS, built on the basis of the Silex framework and symfony components.
- Piwik 2.0 - Open web-analytics package release.
- Faker 1.3 - A new version of the excellent library for generating test data.
Php
- RFC: phpdbg - With unprecedented unanimity for php-internals, 40 vs. 0, the suggestion to include a debugger in the PHP 5.6 core is accepted.
- RFC: Unpacking Argument Lists - This offer is also accepted.
- RFC: Exceptions in the engine - But the most expected proposal has so far been rejected, as too drastic. There was a heated discussion on this issue, but such changes will be made only in PHP 6.
- ToDo PHP 5.6 - Published release plan for PHP version 5.6. Total, the first alpha is already in January (only 4 alpha), the first beta is in March, RC is in May and the final release is expected in June.
Instruments
Study materials
- HHVM JIT Evolution - About what path HHVM has gone in 4 years.
- HHVM again - Popular is about what HHVM is and how it works.
- FasterCGI with HHVM - FastCGI protocol support is implemented in HHVM. In a post on how this works, as well as a comparative test WordPress on PHP-FPM and HHVM.
- PHP 5.5 vs HHVM vs Node.js - Small benchmark.
- Laravel 4: E-Commerce - Continuation of a series of comprehensive tutorials on Laravel 4. This time, an approach to creating an e-commerce solution is demonstrated. Previously, it was about realtime chat , packages , authentication , Access Control List , deployment and API .
- Creating a simple ToDo application on Laravel 4 - Laravel Tutorial Series.
- HTTP Middleware in Laravel 4.1 - Starting from Laravel 4.1, the framework uses StackPHP , which means you can use your own middleware components for the HTTP layer.
StackPHP - StackPHP report directly from the author.- Web & PHP magazine December 2013
- Create virtual machines easily using PuPHPet , 2 - Tutorial in two parts on using PuPHPet - the online configurator of Puppet & Vagrant.
- Global installation of PHP tools with Composer - A small note with an example of installing PHPUnit globally.
- Create a simple RESTful application using Silex - Silex Tutorial for beginners.
- Which of the frameworks is more lightweight than Silex or Aura.Web_Project? - Comparison of two (micro) frameworks: number of dependencies, volume, number of classes, number of lines of code.
- A complete tutorial on debugging and unit testing with PHPStorm - A large series of tutorials on the features of using PHPStorm.
- BDD with Behat - Tutorial on using a popular testing tool.
- We test email in PHP - The post demonstrates the use of PHPUnit and the Mailcatcher service for testing emails sent by the application.
Testing symfony 2 applications using Codeception- CachingIterator - A post about a rather rarely mentioned class from SPL - CachingIterator and interesting behavior when using it.
- Just-In-Time debugging and PHP Exception Breakpoints with PhpStorm and Xdebug - A post about using just-in-time debugging and breakpoints in PHPStorm and Xdebug .
- How to distinguish a DI container from a service locator
- SOLID - Single Responsibility Principle - Tutorial about one of the basic principles of object-oriented programming.
- Dependency Injection in Magento 2 , 2 - A couple of posts about dependency injection in Magento.
- PHP at the command line using Symfony Console - Tutorial on using the symfony component to create command line scripts.
- Dart and PHP - PHP sharing back-to-back tutorial and Dart as front-end language using the example of creating a simple game.
- Prevent PHP Security Issues - A little more about PHP security and common vulnerabilities.
- Contributing Advent 24 - Written by XDebug, Derick Rethans, summarizes his 24-day marathon and writes about his contribution to various opensource projects.
- Phalcon on Windows Azure
Impurities in PHP (trait) - Another post about treit, this time with real examples.
Integration of Symfony2 authentication and Jira tracker
Great guide to Yiinitializr - Great post about a tool designed to quickly create projects on Yii.
Backing up web projects on Yandex.Disk , as well as without OOP and models
History of one backdoor - Parsing an obfuscated code of a small malware.
Laravel: Dependency Injection in practice
We buy train tickets for the New Year - The author has implemented a small script for tracking the tickets of interest on the RZD website.
The best resources to get started with Drupal 8
Entertaining
Quick search in all digests←
Previous editionForecast contest
PHP-digest together with
JetBrains company in the last digest of the outgoing 2013 year announce a competition among regular readers.
We suggest you make a forecast for the PHP world for 2014, right in the comments to this post. The best three predictions that have scored the greatest number of advantages will receive excellent New Year's gifts!
JetBrains will award all three winners with personal
PHPStorm IDE licenses! Also, each winner will receive a
t-shirt with the PHP logo from the
#ITStuff online store. And the most successful forecaster will also win the real PHP elephant from #ITStuff! The results will be announced on December 31 at 19.00 Moscow time.
Let's dream together, what can we expect from the coming 2014?
Contest results
So, according to the voting results, we have three winners!
With a confident margin,
Chris_Griffin takes the first place and receives a personal license for PHPStorm from
JetBrains , a PHP elephant and a PHP t-shirt from
#ITStuff .
Php will become the official language in India.
Second place went to
SibProgrammer and also receives a license for PHPStorm and a T-shirt.
One of the futuristic forecasts for 2014: people switched to the side of Rails and Django, quietly looking again at PHP frameworks and trying to come back :)
The third most popular forecast is very realistic, and its author
steppefox is awarded a license for PHPStorm and a T-shirt.
My thoughts about 2014:
1. The popularity of HHVM will increase.
2. Beta Yii2 will be released in spring, stable release in late autumn
3. In the Russian Federation will make your small Laracon 2014
4. On Habré there will be several dozen failed articles in the spirit of "Your PHP is not very", or "my favorite language" vs PHP.
5. Translate into Russian book on Laravel.
6. Will be a book on Phalcon
7. Another framework will attempt to break into the PHP scene.
8. Zend-certification rules will change.
9. Elephants can finally be ordered
Many thanks to all the participants, as well as to the company JetBrains and the #ITStuff store for the gifts provided!
Happy New Year! May this year be better for you even the most optimistic forecasts!