PHP Annotated Monthly – March 2016

php-annotated-monthlyAs winter rolls into Spring, it’s time for another roundup of all the interesting things in the PHP world, with PHP Annotated Monthly for March.

This month has been compiled by travelling shill and PhpStorm Developer Advocate Gary Hockin.


We had a round of releases again, with PHP versions 5.6.19, 5.5.33 and 7.0.4 the current versions. Remember, if you aren’t running any of these versions, then your version of PHP is outdated, and you should upgrade.

There has never been a better time to upgrade, Badoo blogged on How Badoo saved one million dollars switching to PHP7. What better possible reason could you need to upgrade to PHP 7 than the huge savings on offer?

If you still need convincing, then it’s worth reading Introduction To PHP 7: What’s New And What’s Gone by Vilson Duka, it’s a good overview of what to expect in the latest release of PHP. Internals developer Joe Watkins also blogged on PHP 7 – a very interesting post based on some videos entitled Hacking PHP 7.

Davey Shafik released a very interesting article on when you should use private, protected and public in your PHP objects. I’m not certain I agree with his reasoning, but it’s a useful opener to an interesting debate; catch it here: The Visibility Debate.

With Let’s Encrypt offering free SSL/TLS certificates to anyone who needs one, learning how to use these certificates in PHP is valuable. Niklas Keller has you covered with Let’s Encrypt with PHP. Rob Allen blogged a cool post on how you can learn more than just the image size using PHP’s `getimagesize` function – Determining the image type of a file. Rob’s been busy lately, we’ll hear more from him later.

Learn all about working with reducing arrays in this post by Edd Mann called Mapping, Filtering and Reducing in PHP. Because we can never be overly sure when it comes to storing passwords, learn or recap best practices in the Paragon Initiative’s post How to Safely Store a Password in 2016. This is not PHP specific, so is a useful read wether you work only in PHP, or are a polyglot programmer hipster dude.

Frameworks and Tools

If you’re a user of Symfony, or interested in learning, you’ll definitely want to check out The Ultimate Developer Guide to Symfony – Skeleton by Loïc Faugeron. I’m guilty of not learning or understanding Symfony as much as I should, so this was a very interesting read for me. There was also a new post on the official Symfony blog outlining exactly what’s New in Symfony 3.0.

We might as well get these out of the way now — Rob Allen has blogged on a number of Slim 3 related topics this month.  Firstly, in Testing Slim Framework Actions he outlines how you can setup the PSR-7 request/response objects to validly test you actions in Slim. Secondly, Rob gives some information on Configuration in Slim Framework, which explains how to store and retrieve configuration settings. Finally, Rob has posted an article on how the error handling has improved in the latest version in Improved error handling in Slim 3.2.0. Thanks Rob!

Over in Laravelville, the always amazing Matt Stauffer once again blogged an amazingly useful article explaining how he managed to create a password free authentication system in Laravel. Find the detailed explanation here in Creating a password-less, Medium-style, email-only authentication system in Laravel. If you work with Laravel (or even if you don’t), it’s always worth keeping up with Matt’s prolific and exhaustive blogging around pragmatic topics.

I also found this post on Laravel Daily interesting – Blade tip: @unless instead of @if-statement. It’s a small post, but it looks useful if you use the Blade templating engine. posted a very nice article on The Repository Pattern in Laravel 5 which I found very interesting.

Zend Framework contributor Abdul Malik Ikhsan posted on how you can use middleware in the upcoming version of `Zend\Mvc`, Start Using Middleware Approach with new zend-mvc. Version 2.7.0 of the Mvc component includes forward compatibility features that make this possible. Geert Eltink blogged on adding Symfony Console to your Zend Expressive project. This is a really useful crossover as Expressive doesn’t come with console support out of the box. Get it while it’s fresh at Zend-Expressive Console CLI Commands.

I didn’t realise there were additional tools to use with Composer until I read Peter Petermann’s blog post A Hand Full of Composer Related Tools that I’ve Found Useful. I’m not convinced that these will be useful to everyone, but it’s certainly useful knowing they exist.

Finally, Sitepoint (as usual) have released a number of interesting posts this month. For me, the pick are Your First Drupal 8 Migration by Danny Sipos, and How to Build Your Own Dependency Injection Container by Andrew Carter. Sitepoint are consistently releasing amazing content for developers at the moment, so you should definitely check them out.

Community (and more)

Late Feb and early March were fun, with some fantastic events including PHPUK and Midwest PHP – thanks to everyone I met, you make these events an amazing and interesting place to be. Next in my calendar for April is Lone Star PHP in Dallas, so please come and say “Hi!” if you see me there.

After an amazing Sunshine PHP conference in February organiser Adam Culp posted his recap on the event in his SunshinePHP 2016 Recap. This includes the good and bad things that happened, which is very refreshing. I’d love to see more conference organisers taking the lead and publishing more information about the more delicate things that happen at events.

If you’re interested in getting involved in contributing to open source, and I hope you are, then head back over to Sitepoint and check out Bruno Skvorc‘s post on Contributing to Open Source: Gatekeeper Case Study. If, on the other hand, you need some help and advice on running a user group, then Joe P Ferguson has you covered in his post User Group Advice.

Cloudways interviewed Joomla advocate and all-round nice person Tessa Mero in their interesting interview Joomla Ace Tessa Mero Shares About PHP, Community & Offers Advice To Students. I know I’ve got a lot to learn from Tessa, so I definitely recommend this to everyone.

After my severe dressing down in recent months, podcasters around the world have pulled their socks up and tried (unsuccessfully) to match Cal Evans in output.

Finally, there are still calls for papers open for PHP and wider tech conferences, but I’ve decided to stop listing them here. This is mainly because The CFP Report does a much better job of reporting open CFP than I can do here once a month, so I would urge you to sign up there if you are interested in knowing what CFP are open once a week.

Thanks for reading, and remember, if you’d like to see an article included here next month, simply get in touch.

– Gary and the PhpStorm Team


The Drive to Develop

image description