PHP Annotated Monthly – January 2017

PHP Annotated Monthly Logo

Happy New Year! New year, new PHP Annotated Monthly, a roundup of all that’s happened in the last month or so with Gary Hockin, Developer Advocate for PhpStorm at JetBrains.

Don’t forget: you can now get PHP Annotated Monthly delivered to your inbox, so you’ll never miss the monthly roundup again. Sign up here and get next month’s PHP Annotated Monthly delivered right to you.

PHP and Development

The latest versions of PHP are:

The biggest point to note here is the fact that there’s only one version of PHP 5 that’s currently supported, and as of January 1st, 2017, it’s only receiving security fixes. By the end of 2017, PHP 5 will be completely unsupported. 2017 is the year for upgrading your servers to PHP 7.

If you need some pointers installing PHP 7 on your systems, then you could do far worse than Installing PHP 7.1 by Colin O’Dell. TutsPlus also have an excellent post on Upgrading Your Linux Server to PHP 7.0. Sebastien Bergman also published a fantastic article, PHP 5: Active Support Ends. Now what?

Toon Verwerft tells us that using fully-qualified namespaces in our function calls can speed up the code in Optimizing PHP performance by using fully-qualified function calls. Personally, I think that if you’re down to optimization by these small micro-optimizations, then you’re doing it wrong, but at least Toon includes benchmarks.

Quick and easy introduction into PHP Mess Detector (PHPMD) by Leonid Mamchenkov introduces a valuable tool for finding potential problems in your code. PHPMD also plugs into PhpStorm as an external tool or inline inspection; it’s a good thing to use. Chris Pitt on SitePoint always entertains me, and he doesn’t fail with The Delicious Evils of PHP  a fascinating look at when you could and should use the evil functions eval and exec.

Other enjoyable reads about PHP this month:

Frameworks and Libraries

2017 looks like being the year of great frameworks and libraries (and upgrading to PHP 7  didn’t you do that already?). One tool I have been guilty of ignoring in 2016 is PHP’s static page generator Sculpin. Interested? Get started with a great series by Mattias Noback: Project documentation with Sculpin.

If you haven’t noticed already, I’m really trying hard in this issue to get you using PHP 7. Laravel Homestead 4.0 is released featuring support for PHP 7.1 by Joe Ferguson tells you how you can use Laravel Homestead to run PHP 7.1 in your virtual development environment. Homestead is a Vagrant-based virtual machine that makes virtualizing your development environment really easy, even if you’re not using Laravel. It’s definitely worth a look.

To really drive the message home about how you should be running PHP 7, read Symfony and Laravel will require PHP 7 soon by Freek Van der Herten. In it, he reveals that the creators of Symfony and Laravel have committed to their next major versions (4 and 5.5, respectively) and those will require PHP 7 as a minimum. Now’s the time to upgrade.

I also read Run PHPUnit Tests From Sublime Text, although why you’d want to be running your unit tests from a text editor is beyond me. Just use a fully purposed IDE. I was intrigued by the post Using Closures as PHPUnit After Hooks by Dave Marshall, hooking into after things have run looks kind of cool but I can’t think of a good use case yet.

Other interesting articles from the month:

Community, Career and Events

My favorite community/career based post this month was from Robert Basic, Things I learned in the past four years. Robert reveals what he learned in over 4 years on a large project and delivers them in a very enjoyable way. Matthew Turland also makes some good points in his post On Remaining Employable, but I can’t agree with everything. While I agree that you have to spend some of your own time to your own professional improvement (such as attending conferences), I hate the connotation that only coding 9 – 5 as part of a day job is a Bad Thing™. Encouraging developers to work long hours or code outside their day job is a dangerous thing.

Finally, I really enjoyed an interview with Matt Stauffer (Laravel supremo), On becoming a web artisan. Matt’s a nice guy and gave me a copy of his excellent book Laravel Up and Running which I highly recommend.

I’m not going to bother listing the most recent editions of podcasts this month, instead, over the coming weeks I’ll compile a list of PHP adjacent podcasts and include that here. It turns out I don’t need to get my word count up this month, so I don’t need to list episode names blindly.

Conference season is kicking off again, and I’m lucky enough to be asked to speak at a few events early in the year. If you’re at PHP Benelux, Sunshine PHP or PHPUK, then please come over and say hello.

Everyone at JetBrains wishes you a great 2017, and don’t forget, if you’re not running PHP 7, then NOW IS THE TIME!

As always, if there’s anything you’d like me to list here next month, then get in touch.

— Gary and the PhpStorm Team

About Gary Hockin

Gary Hockin has been creating code to power web applications for 15 years, the last three of them at an extraordinary level. He is handsome, talented, funny and articulate, and also extremely modest. Gary is a valued contributor to Zend Framework 2 and is a member of the community review team. He's married and has two wonderful children, and when he's not coding, writing about code, speaking about code or reading about code, he can usually be found in the pub playing pool.
This entry was posted in PHP Annotated Monthly and tagged , , . Bookmark the permalink.
  • Aleksey Volkov

    Thanks a lot for this digest!

  • David Harkness

    “Encouraging developers to . . . code outside their day job is a dangerous thing.”

    No one will take care of your career for you. You cannot depend on your employer to keep using the latest tools since they’re goal is to make money and spend as little as possible doing it. While it’s great to find an employer who will pay for your time to attend conferences or learn new tools, expecting it and then doing nothing on your own when it doesn’t happen is a sure way to dead-end your career.

    Our main codebase is still running on Zend Framework 1.11. ZF1! They aren’t going to delay new features to rebuild it on something modern. So I work on my own projects to remain current and because I love learning. It’s okay not to do that, but then don’t be surprised when you have a harder time moving on to a new opportunity.

  • http://constb.myopenid.com ConstB

    > there’s only one version of PHP 5 that’s currently supported, and as of
    > January 1st, 2017, it’s only receiving security fixes. By the end of 2017,
    > PHP 5 will be completely unsupported

    I’m not sure if this is accurate. Older PHP versions are a part of distributions with LTS update policies. I believe this means they will keep backporting security fixes until their own end-of-life. At this moment Ubuntu 12.04 is still supported, and it ships with PHP as old as 5.3. I’m not sure about CentOS but it’s probably the same or even older. PHP 5.6 you mentioned is shipped with Debian Jessie and all debians tend to have very long LTS life.

    So “unsupported” here probably should be “community-supported” actually.

    Correct me if I’m wrong.