The digest of interesting news and materials from the world of PHP No. 29 (October 20 - November 10, 2013)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
- php.net was compromised - on October 24, Google marked php.net as a threat and later the fact of hacking was confirmed . Fortunately, the availability of the resource was quickly restored. A detailed analysis of the problem and the malicious code can be found here .
New PhpStorm 7: Beyond the Language - Fresh release of the best IDE for PHP.
WordPress 3.7 “Basie” - A new version of WordPress with auto updates on board saw the light of day.- Joomla 3.2 - Another popular CMS has also been updated.
- Backdrop - Fork of Drupal 7, whose goal is to preserve the audience of Drupal users, for whom ease of learning and use is more important than architectural flexibility.
- Bolt 1.3 - The latest version of CMS, built on the basis of the Silex framework and Symfony components.
Php
- RFC: Engine Exceptions - The most anticipated offer! Finally, instead of fatal errors, it will be possible to use exceptions.
- RFC: Ripples - A proposal to add support for another way to handle errors besides exceptions. So far, without a patch, but only to find out the feasibility.
- RFC: list_reference_assignment - A small improvement is also proposed, which makes it possible to do assignment by reference in the list:
$array = [1, 2]; list($a, &$b) = $array; - RFC: Enhanced Keyword Support - With a result of 11 vs 5, the offer is rejected.
Functions in PHP 5.6 - what's new? - An excellent overview of already accepted proposals for PHP 5.6 and those that are still in discussion.
Instruments
- Deployer - A simple and convenient tool for deploying applications written in PHP.
- phpsh - Advanced PHP REPL for Facebook. Written in Python :-)
- Samsui - Library for generating objects with test data. The authors were inspired by Rosie for JavaScript and factory_girl for Ruby.
- Flysystem - A library that abstracts the work with files, which makes it easy to use both the local file system and the remote without changing the application code. In addition to the local, S3, Dropbox, FTP and SFTP are already supported.
- Respect \ Validation - A great validation library for PHP.
- Idiorm - Lightweight ORM for PHP. Active Record implementations based on Idiorm: Paris and Granada are also available .
- 5 most popular KNP libraries in the PHP / Symfony community
- Intervention Image Class - A handy wrapper over the GD library.
- iniscan - Security scanner for php.ini. Scans the given php.ini file for potentially dangerous settings.
- esoTalk - Fast and easy PHP forum with plugin support.
- Sculpin - A generator of static sites implemented in PHP.
- forp - Simple and unobtrusive profiler for PHP.
- php-daemon - A small library that makes it easy to turn your PHP script into a daemon.
- phpcs-security-audit - A set of rules for PHP_CodeSniffer that help detect potentially unsafe portions of code.
- Refactoring tools for PHP - Rephactor , Scisr , PHP Refactoring Browser .
- phpmig - Great PHP migration implementation.
- PHP-VCR - A tool thanks to which you can forget about creating mocks for external services. Just make real requests to the API, and VCR will write them down, after which the recorded answers can be used in tests. The tool is based on VCR for Ruby and nock for Node.js.
- php-extsample - Mikko Koppanen, which supports many popular PHP extensions, such as imagick and php-zmq, has created a small training extension that will be a great starting point for creating your own full-fledged extension. Also, if you are interested in extension development, I recommend paying attention to PHP-CPP - a C ++ library specifically designed for developing PHP extensions.
- Symfony skeleton: Quick Start Kit - A Seed application for a Symfony 2 project with a selection of components out of the box.
- Gutscript - A programming language translated into PHP that allows you to reduce syntax and simplify code. In short, CoffeeScript for PHP on Go.
Learning Materials
- GitPHP on Badoo - A Story about Solving Performance Problems in GitPHP.
- Use arrays in PHP correctly - When debugging PHP code, you often have to deal with arrays. The author gives recommendations for their proper use in order to simplify debugging.
- Yii: Active Record, Routes, and Caching - This tutorial shows you how to use Active Record, URL management and caching in Yii Framework 1.1 by creating a simple application.
- Map service using PHP and MongoDB - Tutorial on creating a simple map service. MongoDB with its spatial capabilities is used for data storage, and the application itself is implemented on Silex. To work with the map, the author uses Leaflet.js .
- Maps Using Geocoder PHP and Leaflet.js - Continued tutorial on sharing the Geocoder PHP and Leaflet.js libraries to create interactive maps.
- Tracing Silex with DTrace , Tracing a PHPUnit test for an example of using functional programming in PHP - Continuation of a series of posts ( 1 , 2 , 3 ) about using DTrace with PHP.
- Is my code compatible with PHP 5.4 or 5.5? - The post contains a list of changes in new versions, as well as instructions for using PHP_CodeSniffer and additional rules for checking the compatibility of your code.
- Safe random numbers for PHP developers - A look at the available ways to generate random sequences in PHP and in particular on use
/dev/(u)random. Particularly relevant in light of the recently published demonstration of predictability of mt_rand () . - Beyond Inheritance - In a previous post, Anthony Ferrara analyzed the use of design patterns. This time, the author dwells in detail on the concept of inheritance, considering the weaknesses of classical inheritance.
- Gearman Introduction - Distributed PHP Tasks - Introductory tutorial on installing, configuring and using Gearman in PHP.
- Using the Google Translate API in PHP , 2 - A detailed tutorial on using the API to receive translations on the fly.
- Symfony standard edition on HHVM - A tutorial that shows how to configure the HHVM web server to run the symfony standard edition . There are also a couple of posts 1 , 2 with Symfony performance tests on HHVM.
- Debugging PHP Applications Using HHVM - Tutorial on using HHVM in debug mode. It is shown how to execute code step by step, set and manage breakpoints, inspect variables.
- HHVM on Heroku - Using HHVM is now possible on the popular Heroku cloud platform.
- We create a web application on Symfony 2 - A series of three posts with a full cycle of creating a modern web application.
- Symfony2 Component Overview: EventDispatcher - Continuation of a series of small posts about basic components from Symfony2. Previously there were: Routing , HttpFoundation and HttpKernel .
- A step-by-step guide on configuring a server for a PHP (Symfony 2) project - Detailed instructions for installing and configuring all environment components: nginx, PHP, MySQL, Capifony, and some others.
- Symfony 2 applications on OpenShift , 2 - A couple of posts on the deployment and use of Symfony 2 applications on the popular cloud platform.
- Deploying Symfony Project on Amazon Elastic Beanstalk
- Understanding Zend Framework 3 ... until it comes out! - In a post, the author cites resources on which you can get up-to-date information on the upcoming release of ZF3, and also writes about why it is useful to follow them.
- Dynamic auto-generation of properties for your classes using magic methods and reflection - A couple of ways to implement accessors in PHP.
- Mocking a file system using php-vfs - An interesting post on writing unit tests for functionality using a file system.
- Signaling PHP - A fresh e-mini-book that talks about using PHP to create command line tools.
- We sell electronic (downloadable) goods using Stripe and Laravel - Tutorial on creating a simple application on Laravel with the implementation of payments through Stripe .
Google App Engine for PHP with PhpStorm - Tutorial and screencast on using PHPStorm to work with the cloud platform from Google.- We play with the event manager and Silex. We send logs to the remote server - Continuation of the post on the use of the Symfony component EventDispatcher in the Silex application.
- Debugging in PHP with Kint - A short note on using a simple debugging tool for PHP - Kint .
- Web & PHP Magazine November 2013
- Git Branching Model - Description of a simple model for using Git by Igor Wiedler.
- Create APIs that you will not hate: Part 1 Filling the database - An example of using Faker to fill the database with random data.
- Implementing Two-Factor Authentication - The post describes an example of implementing your own two-factor authentication system. Twilio is used to send SMS.
- Laravel 4: Real Time Chat - Continuation of a series of comprehensive tutorials on Laravel 4. This time, the creation of a real-time application using ReactPHP is considered. Earlier it was about packages , authentication , Access Control List , deployment and about API .
RabbitMQ , 2 , 3 , 4 , 5 - Translation of tutorials with examples in PHP (1-2 in Python).
How we became friends with PayPal - Using the REST API from PayPal.
Pimple? Not ... I have not heard - About using a simple but convenient DI container for PHP.
Expanding Array features the PHP in - Useful examples of ArrayObject .
Creating a Live Account widget using PHP Web Sockets - Translation of a tutorial on creating a small application using the Ratchet library .
Public properties, getters and setters or magic methods? - There are different opinions on how to access class properties. The author considers the advantages and disadvantages of using each of the approaches.
Active Record versus Data Mapper for saving data - Comparison of two popular design patterns, the advantages and disadvantages of each.
PHP RUtils - a small library for processing Russian text - The author implemented the port of the pytils library in PHP and got an excellent result!
New Zend ZCPE Certificate Based on PHP 5.5 - About the testing process and preparing for certification.
Materials from past conferences
- True North PHP 2013 - Slides of reports from the Toronto conference.
PyConZA 2013: “PHP interpreter using PyPy technology” - An interesting report on creating a high-performance PHP interpreter using PyPy tools.
Symfony CAMP UA 2013 - Video recordings of reports from the conference held in Kiev.- International PHP Conference 2013 - Slides of reports from the conference held in Berlin.
- CodeConnexx 2013 - Slides of reports from the conference held in Maastricht.
Interview with Rasmus Lerdorf - A short interview with the father of PHP, taken during his stay in Kiev at the IDCEE conference.
Northeast PHP Conference 2013 - Video footage of reports from the Boston conference.
Entertaining
- The revival of the GoPHP5 initiative - In 2007, activists of the PHP community launched the GoPHP5 initiative, urging developers to switch from PHP 4, still popular at that time, to PHP 5. A similar situation has developed now. Despite the fact that support for PHP 5.3 has actually been discontinued, version 5.4 is used by only 10% of sites according to statistics from w3tech . PHP-FIG discusses the idea of launching a campaign to popularize current versions of PHP.
- Required PHP versions on Packagist - Statistics on the versions of PHP listed as required on Packagist.
- Symfony2: as good as getting PHP? - By tradition, a little criticism of PHP.
- Interview with Michael Wallner - full time core-PHP developer - An interesting interview with the developer, who was hired by SmugMug specifically to work on the PHP core.
- PHP 2.0 retrospective - An overview of everything that was in PHP back in 1997.
Quick Search All Digests
← Previous Issue