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

PHP.net:
PHP 7.1.1 Released
Jan 19, 2017 @ 12:30:26

On the main PHP.net site they've posted the announcement today about the release of the latest version in the PHP 7.1.x series: PHP 7.1.1:

The PHP development team announces the immediate availability of PHP 7.1.1. Several bugs have been fixed. All PHP 7.1 users are encouraged to upgrade to this version.

Updated in this release are bugs in the language core, the CLI handling, namespacing with DOM and a few various security-related issues. You can find out about the rest of the changes and links to their respective bugs in the Changelog. As always, you can download this latest version from the main downloads page or windows.php.net for the Windows binaries.

tagged: language release bugfix php71

Link: http://php.net/index.php#id2017-01-19-1

SitePoint PHP Blog:
Laravel and Braintree, Sitting in a Tree…
Jan 19, 2017 @ 11:55:51

The SitePoint PHP blog has a new post from author Christopher Vundi that shows the use of Laravel Cashier to create a custom site connecting to Braintree for subscription handling.

Subscriptions to services online are something extremely common – from subscribing to music streaming services to tutorial sites to access premium content.

With Laravel 5, we saw the introduction of Laravel Cashier, an official Laravel package to help developers manage Stripe’s and Braintree’s subscription billing services without writing most of the boilerplate subscription billing code. [...] In this tutorial, we will be building a dummy Courses site with Braintree subscriptions. In the process, we will learn how to use the various methods offered by Cashier.

This part of the series will help you with some of the setup steps you'll need to create the environment for your application. It also shows you how the custom code would look to allow a user of your system to subscribe to a custom plan. They walk you through all of the setup steps to follow and the code you'll need to make the subscription process work. Some screenshots are included so you can ensure you're setting things up in the correct places.

tagged: laravel braintree tutorial subscription plan cashier

Link: https://www.sitepoint.com/laravel-and-braintree-sitting-in-a-tree/

NetTuts.com:
Using Namespaces and Autoloading in WordPress Plugins, Part 4
Jan 19, 2017 @ 10:24:36

The TutsPlus.com site has posted the fourth part of their series covering the use of namespacing and autoloading in WordPress plugins. In this latest tutorial they take everything they've shared (and made) previously and put it all together into a cohesive whole plugin.

At this point, we've laid the foundation for our plugin, written the plugin, and defined and explored namespaces and autoloaders. All that's left is to apply what we've learned.

So in this tutorial, we're going to put all of the pieces together. Specifically, we're going to revisit the source code of our plugin, namespace all relevant classes, and write an autoloader so that we can remove all of our include statements.

He starts off talking about namespacing and how it relates to directory structure and the code you'll need for each of the plugin files for put them in the correct namespace. With just these in place, however, errors are thrown. This requires the setup of a custom autoloader and PHP's own spl_autoload_register handling. He includes the code for the autoloader, taking in the class name and splitting it up to locate the correct directory, making it easier to replace the loading of all plugin scripts.

tagged: namespacing tutorial series part4 wordpress plugin autoloading namespace

Link: https://code.tutsplus.com/tutorials/using-namespaces-and-autoloading-in-wordpress-plugins-4--cms-27342

Laravel News Podcast:
Episode #29: Welcome Jacob Bennett and Michael Dyrynda as the new hosts
Jan 19, 2017 @ 09:34:49

The Laravel News podcast has posted their latest episode, Episode #29, where they welcome the new hosts of the show Jacob Bennett and Michael Dyrynda.

Jacob Bennett and Michael Dyrynda will be taking over as hosts of the show going forward and this episode is a farewell from Jack and Eric and introductions of Jake and Michael.

You can listen to this latest episode and its new hosts either through the in-page audio player or by downloading the mp3 directly. If you enjoy the show be sure to subscribe to their feed to get the latest on when new shows are released.

tagged: laravelnews laravel podcast news ep29 new hosts

Link: https://laravel-news.com/podcast/29


Zend Framework Blog:
Implement an XML-RPC server with zend-xmlrpc
Jan 18, 2017 @ 14:22:33

As a sort of follow up to their previous article showing the use of the zend-json-server component to create an XML-RPC service, the Zend blog is back with a different take on the same functionality, this time using zend-xmlrpc.

zend-xmlrpc provides a full-featured XML-RPC client and server implementation. XML-RPC is a Remote Procedure Call protocol using HTTP as the transport and XML for encoding the requests and responses.

[...] Each XML-RPC request consists of a method call, which names the procedure (methodName) to call, along with its parameters. The server then returns a response, the value returned by the procedure.

The post walks you through an example request/response flow and some of the value types allowed in the XML-RPC structure. From there it's on to the code, creating the simple server and an "add" method on the "calculator" service. The post then covers how to integrate this setup with the zend-mvc component and an application based on it. It finishes up with an example of the same kind of functionality only applied in a PSR-7 middleware instead.

tagged: zendframework zendxmlrpc xmlrpc component zendmvc psr7 middleware

Link: https://framework.zend.com/blog/2017-01-17-zend-xmlrpc-server.html

Exakat Blog:
PHP likes sorting too much
Jan 18, 2017 @ 11:03:07

The Exakat blog has a recent post talking about how PHP likes sorting too much, that is, even in some places you're not using specific sort functions, PHP does it for you anyway.

PHP likes to sort. Of course, there is sort(), ksort() and all the cousins. But, PHP actually sorts too much. My first encounter with the problem is the infamous array_unique(). Now, this is also affecting glob() and scandir(). I’m looking for others. Until then, check your code.

He covers the functionality for each of those previously mentioned functions and what kind of sorting they're performing: array_unique, glob and scandir. He ends the post with some quick advice on how to potentially replace these auto-sorting functions and some specific functions to use instead.

tagged: sorting automatic function nonsorting

Link: https://www.exakat.io/php-likes-sorting/

Freek Lijten:
Sane defaults over Exceptions
Jan 18, 2017 @ 10:19:13

In a new post to his site Free Litjen talks about defensive programming and the part that sane default handling plays when dealing with exceptions that might pop up.

With over half a million visitors a week and lots of scrapers, bots and other stuff visiting, these exceptions and fatal errors clog up logging quite a bit. Not to the point that we can't handle the volume, but it generates false positives in monitoring channels and it is something we do not want to act upon anyway.

So while I'm happy to see some defensive programming I would be even happier if exceptional situations would be silently resolved to default situations.

The post starts with a quote about defensive programming and how, despite it not being an ideal use, many applications had been seen using exceptions to handle errors and messaging. He proposes another methodology where a set of default values are used instead of just failing on any error hit with the input. The idea has merit but it can also lead to other frustrations like hidden errors in testing and situations where an exception makes more sense than a default.

tagged: sane default value exception error handling defensive programming

Link: http://www.freeklijten.nl/2017/01/04/Sane-defaults-over-Exceptions

PHP Town Hall Podcast:
Episode 51: Good Riddance
Jan 18, 2017 @ 09:44:27

The PHP Town Hall podcast has posted their 51st episode: Good Riddance. The most notable happening in this episode is the announcement of co-host Phil Sturgeon moving on and Amanda Folson taking his place.

In this episode Ben and Phil discuss what’s new in their pathetic little lives, the state of the PHP-FIG, and bid an ecstatic.. ahem.. sad farewell to Phil as he departs the podcast. Starting with Episode 51 [Amanda Folson](https://twitter.com/AmbassadorAwsum) will be taking over as co-host. Ben is staying so don’t worry, we know he’s your favorite.

Phil, Thanks for 51 fucking fantastic episodes, 5 years of podcasting together, way too much booze, and a lot of fun.

You can catch this latest episode in a few different ways: either through the in-page audio or video player, directly on YouTube or by downloading the mp3 of the show to listen offline. If you want to keep up with the latest episodes and happenings from the podcast, be sure to subscribe to their feed and follow them on Twitter to get the latest updates.

tagged: phptownhall ep51 podcast amandafolson philsturgeon good ridance

Link: https://phptownhall.com/episode-51-good-riddance/

Community News:
Recent posts from PHP Quickfix (01.18.2017)
Jan 18, 2017 @ 08:05:03

Recent posts from the PHP Quickfix site:

tagged:

Link: