Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Sebastian De Deyne:
The List Function & Practical Uses of Array Destructuring in PHP
May 15, 2017 @ 10:26:37

Sebastian De Deyne has written up a post to his site spotlighting PHP's list function and showing how it can be used for "array destructuring" and how recent changes in PHP 7.1.x make it more useful.

PHP 7.1 introduced a new syntax for the list() function. I've never really seen too much list() calls in the wild, but it enables you to write some pretty neat stuff.

This post is a primer of list() and it's PHP 7.1 short notation, and an overview of some use cases I've been applying them to.

He starts with a basic introduction to the list function and how it assigns out variables based on an array. He then shows examples of the updates that came with PHP 7.1, allowing you to specify the key from an array to more selectively extract only the value you want. Three "exhibits" are then provided, showing actual use cases for this functionality: basicunpacking examples, creating tuples and handling multiple return values.

tagged: list function use array destructuring php71 functionality tutorial tuple returnvalue

Link: https://sebastiandedeyne.com/posts/2017/the-list-function-and-practical-uses-of-array-destructuring-in-php

TechBeacon.com:
35 programming habits that make your code smell
Apr 25, 2017 @ 11:11:47

The Tech Beacon site has posted a list of thirty-five programming habits that make your code "smell", little things that you might do every day without knowing they could be causing issues with the long term maintenance of your code.

Bad habits are hard to break and even harder if you don't realize that what you're doing is undermining your work. If you know but don't care—that would be the worst. But you're here, aren't you?

As a programmer, I've seen a lot of poor practices, not just around code, but also around teamwork skills. I've been guilty of practicing many of these bad habits myself. Here are my top 35 bad programming habits, organized into four categories: code organization, teamwork, writing code, and testing and maintenance.

They've broken up the bad habits into different categories to make it a bit easier to consume:

  • Code organization
  • Teamwork
  • Writing code
  • Testing and maintenance

I think just about any developer out there as, at one time or another, fallen into the trap of one or more of these bad habits.

tagged: thirtyfive habits bad practices developer programming list

Link: https://techbeacon.com/35-bad-programming-habits-make-your-code-smell

Fabien Potencier:
Symfony 4: Best Practices
Apr 10, 2017 @ 11:51:34

Fabien Potencier (creator of the Symfony framework) has a new post on his site continuing his look at Symfony 4. In this latest article he looks at some of the best practices to use in the next major release of the framework based on some of the architectural changes coming down the line.

Any major version of a project is an opportunity to revisit its best practices. Modernizing them. Adapting them to the project's new features. Symfony 4 is no exception.

He breaks it up into a few different sections offering tips around each, just to get you thinking about the path ahead with v4 releases:

  • Standardization first (using more standard tools)
  • Bundle-less Applications
  • Environment Variables
  • Unified Web Front Controller
  • Makefile
  • Assets Management

Each item includes a description of some of the changes coming and what behaviors you'll need to modify to make life smoother in the Symfony 4 transition.

tagged: symfony4 bestpractice list framework standardize bundle environment makefile assets

Link: http://fabien.potencier.org/symfony4-best-practices.html

Community News:
Exakat - Static analysis tools for PHP
Feb 27, 2017 @ 14:25:25

On the Exakat GitHub account Damien Seguy has put together a pretty complete list of static analyzers you can use for your PHP applications.

The list is broken down into the types of scanners:

  • Bugs finders
  • Coding standards
  • DIY
  • Fixers
  • Metrics
  • SaaS
  • Misc

Each section includes a good list of tools and links to each of them (usually just to other GitHub repositories but some go to actual project pages). There's a lot of them to look through but be careful to evaluate the current state of the project. Just because it's linked here doesn't mean it's a complete tool.

tagged: static scanner tool language bug standard metrics saas list

Link: https://github.com/exakat/php-static-analysis-tools

Christian M. Mackeprang:
4 forgotten code constructs: time to revisit the past?
Feb 10, 2017 @ 09:30:44

Christian M. Mackeprang has a recent post to his site sharing a few possibly forgotten code constructs whose use has faded in recent years. He revisits them, complete with code examples, and why he thinks they should be resurrected.

Some things in the programming world are so easy to misuse that most people prefer to never use them at all. These are the programming equivalent of a flamethrower: You might rarely be in the position to really need one, but every once in a while it turns out that you need to take down a forest. In that case, there’s no easier way than going Rambo on your codebase.

[...] That’s where a few of the old, forgotten code constructs come into play. Creative use of features such as goto, multiple inheritance, eval, and recursion may be just the right solution for experienced developers when used in the right situation.

The four constructs he recommends are: goto, multiple inheritance, eval and recursion. For each item in the list he provides a basic look at the concept and follows it up with "the right way" of doing things to prevent common issues with the feature.

tagged: code constructs past top4 list examples

Link: http://chrismm.com/blog/4-forgotten-code-constructs-time-to-revisit-the-past/

Arpatech.com:
9 Things You Should Need to Know About PHP 7
Jan 27, 2017 @ 11:20:50

The Arpatech.com blog has a new post sharing their list of top nine things to know about PHP 7 with some brief explanations for each. It's not an in-depth coverage of the features in this latest major release of the language but it does give a nice overview for those not familiar with what really changed.

If you are a web developer or a website owner, and you love to use CMS that are PHP-enabled like WordPress, Drupal, Joomla or PHP timetable, PHP 7 which was released on 3 December 2015, is now ready for the production use.

Yes you heard it right! PHP 7 is out to use. We are going to tell all the great things you need to know about PHP 7.

They've included several types of topics in their list, both code and performance related:

  • PHPNG, the New Core
  • Double the Speed
  • New Spaceship (<=>) and Null Coalescing (??) Operators
  • Enables Accurate Type Declarations
  • Imports from the Same Namespace

Each item on the list comes with a brief summary of what the improvement offers and, in the case of code-related items, a quick snippet showing it in action.

tagged: php7 top9 list major release features improvements summary

Link: http://www.arpatech.com/blog/9-best-things-you-should-know-about-php7/

Laravel News:
80 Laravel Tutorials, Packages, and Resources from 2016
Jan 02, 2017 @ 10:32:02

To start off the new year the Laravel News site has posted a list of 80 tutorials, packages and resources they've shared with the community over the past year.

As 2016 is coming to a close it’s a great time to look back on the year and see just how much progress has been made. Laravel had a busy year with 5.3 being released, Laracon, updates to all the components, and now gearing up for the Laravel 5.4 release.

To look back on the year I’ve put together a list of some of the hits of 2016 and arranged them by month so you can get a quick overview of all the highlights.

There's lots of good content posted here and it's interesting to see all of the developments in not only the Laravel community but also the wider PHP community (including the fifth birthday of Laravel in June). Check out the full post for the complete list and links to each post.

tagged: laravelnews laravel post list package tutorial resource 2016

Link: https://laravel-news.com/80-laravel-tutorials-packages-and-resources

Zend Blog:
Top 10 PHP articles of 2016
Dec 30, 2016 @ 11:43:17

On the Zend blog they've posted a retrospective of 2016 and some of their most popular articles published over the last year.

The audience has spoken. From Zend Framework 3 release to Zend Server with PHP 7, from IBM i to AWS, the top ten articles on the blog from 2016 cover a wide range of topics to help you deliver PHP applications rapidly, reliably, securely, both on-premise and in the cloud.

Articles that made the list include:

Check out the original post for the full list. Predictably, most are related to Zend's own offerings but its good to see some other topics mixed in there as well.

tagged: top10 articles list 2016 retrospective zend

Link: http://blog.zend.com/2016/12/29/top-10-articles-of-2016/#.WGZ-8KIrJZ0

DaedTech Blog:
Avoid these Things When Logging from Your Application
Dec 06, 2016 @ 11:53:48

On the DaedTech blog Erik Dietrich has written up a list of a few things he suggests avoiding when using logging functionality in your application. The suggestions range from the actual contents of the message out to some logging best practices.

It seems almost strange to talk about avoiding things while logging. After all, logging is your last line of defense or your salvation in many cases. [...] Well, it turns out that, while logging may be a highly inclusive activity in terms of what should be included, there are ways to create problems. You want to be liberal in terms of what you log, but judicious and wise in terms of how you log it. You don’t want to indulge in a feckless free-for-all when it comes to the calls you make to your application’s logger.

So what are these problems, and how to avoid them? Let’s take a look at some things that can come back to bite you.

He points out the following (common) bad practices he has seen during his time developing:

  • Forgetting Context
  • Cryptic Codes
  • Spamming the Log File
  • Unsafe Logging Calls
  • Mixing Application Logic with Logging

He ends the post with a suggestion of "sensible logging" - capturing as much meaningful information as possible while not overdoing it. Logs can be a powerful ally when hunting down an issue or trying to provide documentation of a security issue. Log wisely, log on purpose.

tagged: logging practices recommendation avoid list

Link: http://www.daedtech.com/avoid-things-logging-application/

Shameer C:
PHP 7.1 - 8 New Features you need to know
Nov 30, 2016 @ 11:44:26

Shameer C has a new post to his site sharing some of the things you can look forward to in PHP 7.1, the next larger release of the PHP language. In it he details his "top eight" changes and updates he thinks you'll need to know about.

PHP 7.1, the new minor version of PHP will be released on December 1st, with a number of new features, changes, and bug fixes. While we wait for it's release, let's look at some of the awesome features in PHP 7.1.

His list includes updates like:

  • Iterable pseudo type
  • Square bracket syntax for list()
  • Class constant visibility
  • Void functions

He provides code examples for each of the items on his list and, as a bonus, provides a bit of information about using a Docker container for testing out PHP 7.1 without messing up your local install.

tagged: php71 features top8 list improvement language release

Link: https://blog.shameerc.com/2016/11/php-71-8-new-features-you-need-to-know