PHP Annotated Monthly – June 2016

PHP Annotated Monthly Logo

As summer rolls in, and here in the UK we get slightly warmer rain, Gary Hockin once again rounds up the latest news from the PHP community, in Annotated Monthly.


Once again those fabulous folks in PHP land have given us new versions:

At the risk of boring you, if you aren’t running PHP 7.0, 5.6 or 5.5, you’re not doing it right.

Younes Rafie blogged an excellent introduction to the INTL extension in his post, Localization Demystified: PHP-Intl for Everyone. Internationalization is hard (and not just to spell), and the INTL extension is a way to make dealing with this difficult subject much easier. I very much enjoyed an interesting post by Marc Scholten, which discusses whether the proliferation of service containers in development has the unintentional consequence of making our code more complicated — Accidental Complexity Caused By Service Containers In The PHP World.

In his post Finally, file streams, and deferred execution in PHP, Frank de Jonge talks about using `Finally` to clean up after yourself when working with streams. Happy Birthday Frank! Have you ever needed to migrate database changes between systems? Check out Bruno Skvorc‘s post, Phinx – the Migration Library You Never Knew You Needed (now with added character set fails).

There’s a standard afoot around PSR-7 compliant middleware, and in an interesting post, cider-swiller Phil Sturgeon asks Why Care About PHP Middleware? On the topic of PSR-7 PSR-7 Objects Are Not Immutable  by Andrew Carter explains why PSR-7 objects are not immutable (spoiler; it’s because of the streams). While on the topic of middleware, Anthony Ferrera blogged a cool post on that subject with  All About Middleware.

Hooray, another PSR-7 middleware post, this time far less theoretical with Rob Allen’s post on Filtering the PSR-7 body in middleware. As usual, Rob gives a comprehensive technical solution to a problem. Middleware FTW!

With all the enjoyable FIG drama recently, Evert Pot blogged on Why PHP-FIG matters. He’s entirely correct, the FIG matters and has done amazing work for us, the PHP community. That didn’t stop handsome and eloquent Gary Hockin Moaning About the FIG (Again). That guy is a jerk.

Adam Wathan posted a cool video on Writing Your Own Test Doubles. Adam also recently released a cool book called Refactoring to Collections which is not only comprehensive but ships with a metric ton of code examples and exercises. I expect a free copy for this promotion work please Adam.

Frameworks and Tools

Brandon Savage writes an interesting argument in his post Why I Write, Maintain and Use My Own Framework (and you should too) – I don’t actually agree with this at all, but it’s always interesting to read other people’s opinions even when they contradict your own. Things I didn’t know Laravel could do by nice guy Matt Stauffer is also very interesting; Matt outlines some things he found in Laravel when he was researching his upcoming book.

In the testing world (you do write tests, right?) Jumpstart Your PHP Testing with Codeception is a gentle introduction to testing framework Codeception, a tool that helps to manage your unit, integration and acceptance tests from the same place (thanks Vasily Koval).

Using Let’s Encrypt SSL With Your WordPress Project is a really nice tutorial by Jeff Reitman explaining how to use the free Let’s Encrypt SSL certificate to enable HTTPS on your WordPress install. Zend Framework lead Matthew Weier O’Phinney writes about Programmatic Expressive on his blog, and explanation on how to write more code and less config when using Zend\Expressive.

Bruno Skvorc (of SitePoint fame) nicely covers the use cases of Laravel Valet in his post What Is Laravel Valet, and Why All the Fuss? Valet is a pretty cool tool for automatically creating local development environments from just a folder (something I’ve been doing for a long time based on an old Rob Allen post here). Valet makes this whole concept super simple, and I love it. If you’d like to learn more about how Valet works, then The magic behind Laravel Valet by Mohamed Said is what you’re looking for.

Finally for this section, as we’ve already mentioned Rob Allen, he’s written another interesting post on Slim, this time, Slim 3.4.0 now provides PSR-7! which explains how the latest version of Slim Framework formally implements the PSR-7 HTTP message implementation interface.

Community (and more)

The community is buzzing with the huge number of conferences coming around at the moment.

Unbelievably, Evert Pot has been Blogging for 10 Years! and he’s happy to tell the world. Congratulations, Evert, that’s quite an achievement.

The Drupal community announced the Winner of the 2016 Aaron Winborn Award — an award to a community member which was created last year after prominent community member Aaron Winborn passed away. This is a lovely way to recognize those we sadly lose in the development community.

Erika Reinaldo Talks About PHP Development, Conference Circuits And Her Love For ElePHPants over on Cloudways Blog is an interview with my good friend and all-around nice person Erika Reinaldo — it’s definitely worth reading. Michelangelo van Dam posted his roundup of PHPSrbija Conference 2016 which made me very jealous that I didn’t attend.

Ben Ramsey took time out from his busy schedule drinking beer to blog on 7 Tips for php[tek]. “But php[tek] has been and gone!” I hear you cry. Don’t worry, these tips are ideal for any conference, not only php[tek].

Let’s take a look at how the podcasters did this month:

As a final note, I’d like to let you know about an exceptional initiative I’m involved with called Open Sourcing Mental Illness. It’s a fantastic organization that is helping raise awareness and promote discussion about Mental Health problems in the developer community. On the website, you can find free Mental Health Guideline Handbooks for employers and employees. I’d also like to mention that a fundraising campaign is currently running which you may want to check out.

Thanks for reading, and as always, get in touch if there’s anything you’d like to see on this roundup next month.


– Gary and the PhpStorm Team


The Drive to Develop

image description