PHP Annotated Monthly – November 2015

PHP Annotated Monthly

November is here, and we are well into the autumn conference season. Last month has seen a plethora of news including the imminent release of PHP 7. Join us as we check out this exciting November edition of PHP Annotated Monthly.

This month has been compiled by Gary Hockin – Developer Advocate for PhpStorm.


PHP has seen its usual releases – with PHP versions 5.6.15 for PHP 5, and RC6 for PHP 7.

It’s November already, and PHP 7 which was due to drop on the 12th has now got a release date of November 26th – I, for one, welcome our new super-fast typed-checked scripting-language overlords.

PhpStorm 10, released on November 2nd, has excellent PHP 7 support, so I urge you to download an install PHP 7 and have a play. You’ll be amazed at the free speed increases, and hopefully will be excited to use the cool new features. Type hinting alone should reduce testing boilerplate for those of us who end up writing thousands of lines that read like $this->assertInternalType('int').

Can you tell I’m excited?

Lorna Mitchell posted on the subtle changes in error handling between PHP 5 and PHP 7 in PHP: Calling Methods on Non-Objects, while hat-loving Ross Tuck shared a really interesting idea on Formatting Exception Messages – an idea he stole from Doctrine, but a really cool way to make exceptions more meaningful in PHP.

Joshua Thijssen blogged a nice post on Incrementing Values in PHP – explaining how the different methods of incrementing values can give you variable results. Another really interesting post was PHPUnit + XHProf = BOOM! by Matthew Turland – outlining a problem that many may encounter when working with unit tests and XHProf.

Huge Page Usage in PHP 7 by Julien Pauli is a very interesting read, outlining the hows and whys of memory page usage in PHP 7. It’s a little over my head, but very interesting nonetheless. If you’re of a Hack persuasion, Improving Arrays in Hack by Dwayne Reeves will be useful.

Frameworks and Tools

We’ve had a raft of releases for Frameworks in the last few weeks, including:

You’ll notice I included Zend Expressive. It’s a new micro-framework from the Zend Framework team that is based around PSR-7 middleware; interestingly it encourages interoperability as out of the box it comes with support for multiple routing, service containers and tempting middleware.

There’s been a real buzz around its release, including a few blog posts like How to Build a Photo Gallery in Zend Expressive on SitePoint and Introduction to Zend Expressive on Master Zend Framework. Both are worth a read if you’re interested in working with a PSR-7 middleware based system.

The wonderful people at Liip blogged on Why You Should Start Developing With Drupal 8. With Drupal 8 release right around the corner (allegedly), it’s a good read for any Drupal developers. On the same Drupal 8 theme, it’s worth checking out Drupal 8 Third Party Settings on the SitePoint blog.

Zend’s DevZone published a good article on Developing Joomla on AWS with Z-Ray – Z-Ray is an interesting tool from Zend that allows you to see what’s happening inside your PHP application right within the browser. At ZendCon it was announced that this is now available standalone and not just part of Zend Studio, so it’s definitely worth looking at the preview.

SitePoint also blogged on Puli, the new tool built on top of Composer that aims to solve the problem of developing multiple packages for components to fit different frameworks. They ask the question, Can PuliPHP Re-Revolutionize PHP Package Development?

Eric Barnes blogged on How to send both HTML and Plain Text Password Reset Emails in Laravel 5.1. Don’t be fooled by the words “Plain Text Password” in the title as it’s actually talking about how to send both HTML and plain text emails with password reset links. Eric also posted Laravel 5.2 — A Look at what’s coming.

The Symfony Blog published New in Symfony 2.8: PropertyInfo Component which is a way to enforce types on properties in Symfony 2.8 (and beyond). Also on the Symfony blog I was very interested in the post New in Symfony 2.8: Guard authentication component outlining the new authentication component in the latest release of Symfony.

James Montgomery wrote a very technical blog post on How to build an auto-ranking Twitter list with WordPress. Even as a non-Wordpress developer I found it interesting. Rob Allen blogged on Writing PSR-7 Middleware which covers how to write middleware that you can use in any of the new wave of PSR-7 based micro-frameworks; interesting stuff indeed.

Community (and more)

Most poignant for me in the last month was Ben Ramsey’s blog post Día De Merton – Remembering PHP Community Members Who Have Died, a look back at all the community members we have sadly lost this year.

Confused about what a project maintainer says when they ask you to “rebase your PR please”? Never fear! Rob Allen blogged (again) on The Beginners Guide to Rebasing Your PR – must-know information for contributors old and new.

Symfony made a great announcement – The wait is finally over: the Symfony ElePHPants have arrived!. Everyone of an elePHPant persuasion will be excited to learn that Symfony will be getting its own black elePHPant very soon.

PHP Community Don Cal Evans has launched his latest project, The CFP Report. It’s a very interesting tool that aims to simplify the process of submitting talks to call for papers. Personally speaking, I’m very interested to see where this goes.

We had a veritable avalanche of podcast releases. Embarrassingly, I appear to be a guest on nearly all of them; for that I can only apologize:

Conference season is at its peak, with a ton of excellent conferences planned or just gone. My personal standout was an excellent True North PHP in Toronto (along with its accompanying WurstCon).

Open calls for papers include:

As usual, if you have any news, an open CFP, or anything else you’d love to see in PHP Annotated Monthly, then Tweet at me – I’m only to happy to include anything interesting for the PHP Community to enjoy.

Develop with pleasure!
– JetBrains PhpStorm Team

image description