
The digest of interesting news and materials from the world of PHP No. 50 (October 6 - October 26, 2014)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
Yii 2.0. Release - Finally a stable version of the popular PHP framework.
- Guzzle 5 - The new version of the HTTP client for PHP. From now on , RingPHP acts as a transport layer , and cURL is optional. Read more about innovations in the post of the author of the library.
Our beloved CodeIgniter has found a new home - The development of the framework will continue at the British Columbia Institute of Technology.
- PHP: 5.4.34 , 5.5.18 , 5.6.2 - Updates of current branches, including security issues.
Critical Vulnerability in Drupal 7
- Symfony Project turns 9 years old
- Deprecate PSR-0 - As a result of a vote by members of PHP-FIG, the PSR-0 standard has been deprecated in favor of PSR-4 .
- Aura 2.0 - Release of a framework built on independent components.
Php
- RFC: Exceptions in the engine - A proposal to implement ordinary exceptions instead of fatal errors was rejected earlier as being too dramatic for the minor version of PHP. Now it is proposed to include this feature in the release of PHP 7. Unlike the previous version, in addition to fatal errors, it will also be possible to catch parsing errors.
- RFC: Objects as hash keys - It is proposed to add a magic method
__hash()
that allows you to use objects as keys of arrays. - RFC: Return Type Declarations - Updated type hinting clause for return values. Suggested syntax:
function getUser(): User { return new User(); }
- RFC: Readonly Properties - It is proposed to add another access modifier
readonly
, which will indicate the properties available for writing inside the class and only for reading outside it. - RFC: UString - Suggestion to include the ustring extension in the kernel, thus getting the UString class encapsulating Unicode string handling.
- RFC: Safe Casting Functions - It is proposed to add functions
to_int()
,to_float()
andto_string()
, which will returnfalse
in case the transmitted value cannot be cast to the appropriate type. - RFC: Remove deprecated functionality in PHP 7 - Suggestion to remove all deprecated features in PHP 7.
- RFC: Anonymous Classes v2 - Second attempt to implement anonymous classes in PHP.
- RFC: PHP 7.0 timeline - Release Plan for PHP 7. The final version is expected in October 2015.
- PHP 5.6 constants - An interesting undocumented feature of PHP 5.6: arrays can be assigned to constants.
Instruments
- Apist - How to use a site API that does not have an API? The answer is simple - use the SleepingOwl Apist library.
- Greppy - A library for advanced work with regular expressions in PHP.
- Pixeler - Render images in the console with Unicode characters.
- Naegleria - Brainfuck compiler implemented in PHP.
- StatsDClientBundle - Monitoring Symfony 2 applications.
- ∑ - Nanobase for working with events. The code fits in 103 characters.
- Distill - Smart archive unpacker for PHP. Use post .
- Dunit - Allows you to test code on different versions of PHP using Docker.
Learning Materials
Yii
Laravel
- Laravel 5.0 - Continuation of a series of tutorials on the new version of Laravel.
- How to make Laravel 4 the same as Laravel 5
- Widgets in Laravel
Creating a package for Laravel
Symfony
- Lightweight controllers in Symfony2
- Conquering Symfony2
Symfony2 and Ember.js
Symfony2: logging out
Symfony2 step-by-step form with SyliusFlowBundle
The Official Symfony Best Practices Guide - A brief squeeze of a Symfony book by Fabien Potencier himself. A draft version of the book is available here .
Zend framework
Testing
- Mockery Spies - An interesting feature of the Mockery Mocking Library.
- Using AspectMock
- Managing data with FactoryMuffin - About using the FactoryMuffin library with Codeception to quickly generate test objects.
- What's In A Type - Great post on typing in PHP.
- Simple API on Nginx and PostgreSQL - The idea is interesting because the API is implemented only on Nginx and PostgreSQL without using any programming languages.
- Implement geolocation using Geocoder PHP
- Working with Bitcooin in PHP with the Coinbase API
- Overview of 10 popular ecommerce solutions in PHP
- PHP and RabbitMQ message queues
- Drupal 8 Module Tutorial Series
- An open letter to the PHP-FIG group from Anthony Ferrara - “Please stop solving common problems. Solve 50% of the tasks, not 99% of the tasks. ”And also a continuation with specific criticism of the PSR-6 Cache . The topic is a review of the PSR-6 .
- Cons of Using Annotations in PHP
- We cache like professionals with Go! Aop
- Workspace for PHP with Docker
Implementing work with coordinates in sonata-admin
25 PHP developers to subscribe to
What's New in CakePHP 3.0.0?
Possible Future for PHP
Don't be afraid to use HandlerSocket
Dangerous finally or wait 5.6
Sypex Geo added a binding to the API VKontakte
PHP framework Badoo
KodiCMS - CMS on the Kohana framework
Another Boxed CMS - Introducing FFCMS
Performance testing of popular (and not so) CMS
Methods in primitive PHP types
Time change in Russia on October 26 and icu4c
Using Accept Header to Version the API
Audio and video
Entertaining
- PHP Wars: The Clone Attack - Phil Sturgeon writes about why you shouldn't create another library to solve a typical task.
- What is The League of Extraordinary Packages?
- AuraPHP is technologically superior to Laravel in every way. It just doesn't have the good marketing. - An epic Twitter thread that sparked a debate between Taylor Otwell, Phil Sturgeon, Brandon Savage and other members of the PHP community.
Quick Search All Digests
← Previous Issue