The digest of interesting news and materials from the world of PHP No. 37 (February 24 - March 9, 2014)

Congratulations to all the girls and especially the PHP developers on this holiday! I wish you all success, love and warmth!
And of course, your attention is another selection of links with the latest news, useful tools and interesting materials.
Enjoy reading!
News and Releases
Release of KPHP and engines - VKontakte published the source code of their alternative implementation of PHP - KittenPHP. Together with the compiler under an open license, the developers also posted a set of engines that can be used separately from KPHP.- PHPUnit 4.0.0 - Fresh release of the legendary testing tool with support for HHVM and other innovations has been released.
- Apigility 0.9.0 - Update tool from Zend to quickly create all kinds of APIs based on Zend Framework 2.
- Early Access Program Launched for PhpStorm 8
- PHP Releases - Updates have been released for current branches: PHP 5.5.10 and PHP 5.4.26 . The security issues were fixed in the releases, and therefore all users are advised to upgrade.
In addition, the third and final alpha version of PHP 5.6 was released . The first beta release, which means feature freeze, should be expected on March 20. - Source Code Mt.Gox - Most recently, the largest Bitcoin exchange Mt.Gox filed for bankruptcy. An exchange code has been leaked to the network, which is available here.
Php
- RFC: arrayof - A proposal to improve type hinting for arrays was rejected by the vote.
- PHP 6: ideas for ZendEngine - Along with general ideas for PHP 5 ++ , php.internals actively discusses plans for improving the interpreter core.
Instruments
- virtPHP - Thanks to this tool, it became possible to easily use several isolated PHP environments on one machine at once. What has long been in Ruby and Python is now also in PHP. Using the phpenv and php-build tools, you can create completely independent virtual environments.
In addition, a post on the topic of how virtual environments are useful. - Respect / Relational - A simple convenient ORM that does not require any preliminary configuration.
- Vent - A library that implements an event system for variables in PHP.
- Regreph - Performance Regression Analysis Tool for PHP + XHProf.
- Phastlight - Asynchronous, custom-oriented command-line tool and web server in PHP 5.3. Implemented based on libuv, the library underlying Node.js.
- Phactory - A library for generating test objects as an alternative to fixtures. The author was inspired by Factory Girl from Ruby.
- ImageCow - A library that solves the problem of adaptive images.
- Altax - Another application deployment tool for PHP.
- Teapot - A simple but useful library that provides a structured set of constants for HTTP status codes.
- Ansi - A simple library that allows you to use colors and formatting in console applications in PHP.
- PHPCR - Implementation of the standard content storage in PHP. You can read a bit more about usage in the Web & PHP magazine .
Another implementation is also available - Jackalope . - phpSec - A library that helps solve typical application security problems faced by PHP developers.
- WP-CLI - Command Line Interface for WordPress.
- PHP-Vars-To-Js-Transformer - Passing PHP variables in JavaScript transparently.
- php-CLIFramework - A framework for creating command line applications.
- libphonenumber for PHP - As the name suggests, the PHP implementation of the libphonenumber library from Google. Allows you to parse phone numbers and get detailed information about them: demo .
- PHPepl - Web REPL for PHP: demo .
- FUnit - Microframework for unit testing in PHP.
- PHP Shell Wrapper - We execute system commands in OOP style.
- whoops! - The library allows you to display beautiful and most importantly informative pages of errors and unhandled exceptions.
- Stash - A great library for implementing caching.
- Promises - Implementing promises in PHP. Essentially a convenient wrapper over pthreads.
Learning Materials
- Cartoon image filter in PHP QB - An alternative implementation of PHP - QB is now available as an extension. Static typing is implemented as annotations. Superfast low-level work with pixels and vectors allows you to do very interesting things. Another example is the Mandelbrot fractal .
- High performance for your PHP application using ReactPHP - The author demonstrates how to use ReactPHP and the php-pm process manager to improve the performance of a Symfony application from 130 requests per second to 2000.
- The ideal work environment for PHP on Android - Turn your tablet into a workstation. The author uses VIM Touch and Palapa Web Server .
- Automatically injecting dependencies into PHP objects - A small addition to Pimple. We declare the type of the argument using type hinting, and thanks to reflection, we introduce the necessary dependency on the fly. GitHub code .
- Working with PHP and Beanstalkd - A small but good introductory tutorial on implementing a queue system and background task execution using Beanstalkd and the Pheanstalk library .
- Swagger in ZF2 , 2 - A couple of notes on the use of Swagger for the automatic generation of documents based on annotations. If you have not used Swagger to document and test your APIs, then I recommend paying attention to it: Swagger UI demo .
- Dates are complicated - When developing the Uuid for PHP library , which implements the generation of UUIDs , the author is faced with the non-obvious behavior of date functions in PHP.
- Symfony2 Component Reviews: Validator , Routing , Config , EventDispather , HttpKernel
- Data fixtures in Symfony2
- Functional testing in Symfony2 - A small introductory tutorial, used by WebTestCase.
- Autopsy: HHVM vs Zephir vs PHP - A good comparative description and test of three applicants. GitHub test code and description , results here .
- Implementing MySQLi in HHVM - About how the work went on to implement MySQLi support in HHVM, about what happened and what is planned.
- HHVM: next 6 months - Project plans for the next six months. Work is also underway to provide full support for popular PHP frameworks , in addition, a resource is available with support statistics for HHVM packages .
- Storing Value Objects in Doctrine - Several approaches to storing value objects in Doctrine are discussed.
- Debugging with Xdebug and Sublime Text 3
- Thoughts on Composer Security in the Future - On Composer security issues, troubleshooting and prospects.
- DateTimeImmutable - An example of working with the DateTimeImmutable class added in PHP 5.5 , comparison with traditional DateTime.
- Rumors about the discontinuation of MySQL support in PHP - The release manager of PHP 5.3 comments on the subject. Actually, of course, I mean the exception of the legacy mysql extension from PHP, but this will not even happen in PHP 5.6.
- Sharding with MySQL Fabric in PHP - Fabric mainly adds two mechanisms to MySQL: fault tolerance and sharding . Thanks to the mysqlnd_ms plugin in PHP, only sharding is still possible, which is what the post is about. Read more about MySQL Fabric here .
- Simple captcha do it yourself in PHP and GD
- PhpStorm Workshop - Explore all the features of PhpStorm.
- Simple PHP and MongoDB Blog
Yii2 development news digest # 6 March'14
Two design patterns that will make your applications better are the repository and gateway patterns in Laravel. And more about the repository .
The structure of large Laravel applications - How to organize code for a large project.
Laravel Internet resources
Magento Enterprise: What is Full Page Cache and Why is it?
PHP and the various kinds of NoSQL - An excellent overview of the available solutions.
What does gamedev have in common with astronautics or work with iterators in PHP ? Examples of using iterators, as well as the implementation of sampling hub hubs from hub intersections.
Contract programming in PHP
Web sockets in PHP. Part 3. From chat to game: Battle City - Those same tanks in PHP.
Materials from past conferences
- Maximizing application performance on ZF2 (PDF) - Great tips in slides.
State of Selenium Webdriver in PHP - Report slides from Davert with Selenium Camp 2013.- Service-Oriented Architecture on Symfony2 - Slides from a ConFoo Conference talk.
- PHP Application Security (PDF) - Report slides from Ilya Alshanetsky with ConFoo.
Audio and video
Magento vs. X-Cart - Comparison of two popular e-commerce platforms.
Symfony 2: Fundamentals - The first video in a series of screencasts for beginners covering the basic concepts of Symfony 2.
Yii Training - Excellent screencasts for the Yii Framework 1.1. Disclosed are all topics from installation to multilingualism.
PHP Town Hall: Episode 19 - Away Jeffrey Way is the creator of Laracasts and Laravel 4 Generators . The news of the Laravel world is discussed.
PHP Town Hall: Episode 20 - Phill Sturgeon talks about Sculpin and Guzzle with their authors, and also discusses PSR-7 together.
Entertaining
- PHP chat room on StackOverflow - In this chat you can always chat and ask questions to Nikita Popov, Anthony Ferrara and other giants of the PHP world.
- FlyFramework - A funny story that made some noise in the PHP community. Someone “created” the FlyPHP framework , which in fact turned out to be just a copy of the Lravel code with changed names and deleted copyrights. Taylor, the author of Laravel, created a pool request requesting that copyright be returned to the site .
- Packages: the way forward for PHP - Phill Sturgeon once again talks about frameworks, PHP history, packages and the future.
- New PHP - Truly the world of PHP is undergoing a renaissance, which is what O'Reilly Media's blog post is about.
PHP T-shirt: Respect The Double-Claw - The legendary T-shirt featuring the PHP hammer can now be ordered anywhere in the world.
PHP bard on Twitter - Soul sings.
For 37 releases, a PHP digest has been released every two weeks. But in order to make the issues even better, I suggest you go through a short survey .
The results will be published in two weeks, and thanks to you, the digest will be even better!
Quick Search All Digests
← Previous Issue