PHP Annotated Monthly – May 2016

PHP Annotated Monthly Logo

The weather is hotting up, and so is the PHP community. Gary Hockin once again rounds up the latest news from the PHP community, in Annotated Monthly.


We’ve had another batch of PHP releases, latest version is:

Yes, it’s tedious, but I’m going to say it one last time anyway; if you’re not running PHP 5.5 or higher, you’re at risk, as anything below is not a supported version of PHP. I promise that’s the last time I harp on about it!

Marc J. Schmidt blogged a very nice article on PHP High-Performance – Follow Up with Symfony/ and PHP-PM. I probably should have put that in the frameworks and tools section, but hey, it’s here now. Shahar Evron posted an excellent post on PHP Memory Usage & Unnecessary String Concatenation.

Ever used PHP-FPM and had a blank page served up through your web server? Greg Freeman tells you how to debug that, in How To Connect to PHP-FPM Directly to Resolve Issues With Blank Pages. On the functional programming side, I was very interested to read about Transducers in PHP Made Easy written by Younes Rafie.

Flowerpot wielding community stalwart Evert Pot wrote a particularly interesting article on Writing SQL that works on PostgreSQL, MySQL and SQLite, this sounds easy, but Evert writes on how to achieve this as lightly as possible, without the use of a DBAL or similar. Good stuff.

Over on the Qafoo Blog, and interesting post to open up arguments is Never Use null, which makes the case for not using `null` in your everyday code. I can’t say I 100% agree, but arguments discussions are always interesting to have.  And if we are looking at interesting stuff, then one of my favourite posts this month is by Mark Baker, who wanted to fix a particular problem with anonymous classes, find the article here: In Search of an Anonymous Class Factory.

Finally for PHP this month, we head back to the Qafoo Blog and find out Common Bottlenecks in Performance Tests, where we learn how to performance test your own site.

Frameworks and Tools

Long-haired Belgian dependency manager Jordi Boggiano blogged on how his incessant nitpicking meant that he investigated Common files in PHP packages. The Liip Blog posted something that was very useful to me, even with my huge amount of ignorance about Drupal – Using the new Drupal 8 Migration API / Module.

If you aren’t using Docker in 2016, you are not hipster enough, it’s as simple as that. And with that said, let’s cover off a couple of Docker posts. James Wade (not the darts player) blogged on Getting started with Docker and WordPress, I’m very pleased to see more support for WordPress developers who want to develop in a more modern way. Phillip Shipley wrote about Docker makes upgrading to PHP7 easy.

Nice guy Rob Allen blogged on Slim again, this time on DI Factories for Slim Controllers, and just as I was writing this post, he releases Slim 3.4.0 now provides PSR-7!. Rob must be very excited as that’s his exclamation mark!

It’s been another busy month for Laravel, the biggest announcement was the release of another new tool, Laravel Valet which aims to simplify getting a development environment up and running. It’s a technique I’ve been using for many years, bundled into a beautiful and easy installer. Huge kudos to Taylor and the team. Like any local development environment, it will have it’s detractors, but personally, I think it’s a great tool, and I’m using it already.

How To Process Tweets in Real-Time with Laravel is a great tutorial on handling Twitter’s stream API in real time, and it’s written by Daniel Abernathy. also posted a useful tutorial on What Are Laravel Exceptions? While I shouldn’t use this platform to promote my own blog, because I’m writing this post, I’m going to anyway, so you can see why I’ve said Yes, I’m Learning Laravel (if you are at all interested).

Symfony announced that they are releasing a New Symfony Documentation Search Engine, which looks to be very nice indeed.

The push to Zend Framework 3 continues, with a few more announcements this month. Firstly, Supreme Allied Commander of Zend Framework, Matthew Weier O’Phinney blogged personally On Deprecating ServiceLocatorAware. Thankfully, the anti-pattern of passing around a service locator class is being deprecated in ZF3. Over on the official Zend Framework Blog, Matthew also released the news that the ZF repository renamed! This is because the old repository was named ZF2, and it would make no sense to have ZF3 tagged from a repository called ZF2.

Generating randomness in programming is hard. While I’ve been trying to write a package that concatenates letters picked from that day’s New York Times using a robot in the data centre rolling some dices, probably an easier way to generate UUIDs is by using Ben Ramsey’s package, which you can find out about in Introducing Ramsey/UUID.

Community (and more)

Ah, Community, the backbone of PHP and the thing that keeps me in a job.

Here’s a post who’s title means I don’t need to expand on it – “PHP 7 Has Done Wonders For The Language”, Says Stefan Koopmanschap Of PHPBenelux. Community Godfather (and I mean that in the way of the WWE wrestler rather than the mafia context) Cal Evans blogged on What do developers look for when they scan a job ad?

Previously mentioned UUID King, Ben Ramsey also blogged on Post-Open Source, an intriguing look into whether open source in PHP is being harmed by the lack of open source licences included in the repositories. In case you didn’t guess, the answer is “probably”.

Hooray for podcasters, they allow us to pass the time when driving to the shops while pretending to ourselves we are still working. This month has been somewhat prolific:

  • Voices of the ElePHPant –Interview with Taylor Otwell about Spark, the always lovely Juliette Reinders Folmer, and Rachel Baker. Only 3 since the last Annotated Monthly, is Cal slipping?
  • I keep going on about this, but Dev Hell is still sticking to their schedule of bi-weekly or twice monthly releases, get Episode 76: No, YOU’RE a Tool while it’s fresh.
  • Zero guests, alcohol, PHP Town Hall again didn’t record, rumours are that Ben can’t get Phil to give up drinking cider long enough to leave his turtle alone and record a podcast.
  • PHP Round Table are following Town Hall’s example, and couldn’t be bothered. I’m going to cut them a break because Sammy is so nice, and tell you they will be recording their next episode, Character Encoding and UTF-8, on May 19th @ 12:00 PM CDT.

I always love to record podcasts, and as I’ve proved in recent months, I’m not shy about using this platform to self-promote, so if you’re interested in having me on your podcast for a chat, get in touch!

Also, get in touch if you have any news, blog posts, podcasts, videos, conferences or anything else you’d like to see me feature in the future.

– Gary and the PhpStorm Team


The Drive to Develop

image description