Features Releases

PHP Annotated Monthly – February 2016

php-annotated-monthlyAs February rolls around, and the cold weather really hits home, welcome to another PHP Annotated Monthly for February 2016.

This month has been compiled by epic conference attendee and PhpStorm Developer Advocate Gary Hockin.


February saw a round of releases for all supported versions, with PHP 7 getting 7.0.3 which fixed a slew of bugs. PHP 5.6.18 and 5.5.32 were released in the 5.x branch. Remember, if you’re not running 5.5, 5.6 or 7.0 then your version of PHP is no longer supported, and you should upgrade!

Mark Baker released a really interesting post, A Functional Guide to Cat Herding with PHP Generators which does a really good job of explaining what generators in PHP are, and when they can be used.

If you need to install multiple versions of PHP on one system, it can be a real pain. With the uptake of PHP`&nbsp`7  it’s probable you’ll want to be able to run your tests on two or more versions of PHP. Thankfully, Lorna Jane Mitchell has you covered with her blog post PHP 7.0 (and 5.6) on Ubuntu. Always prolific blogger Lorna also blogged on  how to Upgrade To Better Passwords in PHP and Handling Composer “lock file out of date” Warning. As usual, thanks go to Lorna for all the useful information she continues to post.

PHP ninja turtle Michelangelo van Dam continues his highly useful series of blog posts on arrays with a really educational article on PHP Arrays – The php array functions. Personally I’m guilty of not knowing as much about which array functions to use when, so this was a really useful post for me in particular.

Over on the ever prolific SitePoint blog Vitalij Mik makes a compelling argument on Clean Code Architecture and Test Driven Development in PHP, a fantastic introduction on the whys and hows of clean code and TDD in PHP. If you’re not testing yet, you’ll find A Gentle Introduction to Testing in PHP by Taha Shashtari a very valuable read.

Back over at SitePoint, I thought the post More Tips for Defensive Programming in PHP by Jeff Smith was excellent. This is the second post in a series, somehow the first post slipped through my net last month, but it’s linked from this article, and both are definitely worth reading.

Confoo legend Anna Filina posted a quick tip on Testing Methods That Make Static Calls, a topic that’s interested me for a while. This might be especially useful to those who use convenience wrappers in frameworks, such as Laravel’s facades.

Frameworks and Tools

You’ll have noticed in past months I’ve mentioned Zend Expressive quite a bit, mainly because it’s of personal interested to me, admittedly. Version 1.0.0 STABLE finally released, and I’m excited to see how this gets incorporated into the forthcoming ZF3.

A very interesting piece by Loïc Faugeron on The Ultimate Developer Guide to Symfony – Event Dispatcher is worth a read even if you aren’t a Symfony developer. Toptal.com also blogged on Symfony with True Dependency Injection with Symfony Components.

Rob Allen has been at it again, writing on PSR-7 file uploads in Slim 3 which is actually a useful primer to handling file uploads in any PSR-7 based system, not only Slim 3.

Muscle-bound Adam Wathan released a very nice screencast on Test Driven Laravel from Scratch. Without wanting to bring the wraith of developer communities upon myself (and granted I’m largely ignorant), this is exactly the kind of topic I think is missing from Laravel and I applaud Adam for releasing it. In his post Multiple authentication guard drivers (including API) in Laravel 5.2, all round nice guy Matt Stauffer talks about authentication drivers in Laravel.

A very interesting post about How to use Eloquent ORM migrations outside Laravel (by Johannes Siipola) shows how you can use the Eloquent active record package outside of Laravel, in this example inside Slim 3.

Drupal founder and project lead Dries Buytaert released a very cool article — Drupal: 15 years old and still gaining momentum. It’s hard to believe Drupal is 15 years old! Back at SitePoint (again!), Daniel Sipos has released Tutorial on Using Drupal 8 Plugin Derivatives Effectively.

DerEuroMark website posted a very nice tutorial on Developing CakePHP 3+ Plugins, it’s fun!.  TutsPlus finished their series on Magento Theme Development, it’s a three part series with links to the first two parts included in the article.

Community (and more)

Having thoroughly enjoyed attending PHPBenelux, and with the bumper-car bruises now a distant memory, it was very interesting to read Thijs Feryn‘s article on Making the PHPBenelux Conference happen. I’m sure, like me, many people would be surprised just how much effort it takes to stage an awesome conference like PHPBenelux.

A very nice new initiative called PHP School has been announced, which aims to help bring a more open source mentality to learning PHP. I only managed to take a quick look, but from what I saw it looks impressive.

Podcasters around the world seem to have listened to my call for action, with some very nice episodes being released in the last few weeks:

Finally, there are a number of open call for papers open currently:

Again, thanks to The CFP Report for delivering these open CFP right into my mailbox. If you’re interested in speaking I would advise you sign up – in coming months I may not include open CFP here as the CFP Report are doing such a good job. Let me know what you think.

I’ll be out and about again in February and March, if you see me pop over and say “hi”, it’s been great speaking to everyone in person over the recent months.

– Gary and the PhpStorm Team


The Drive to Develop

image description