Latest PEAR Releases:
Latest PEAR Releases:
The PHP development team announces the immediate availability of PHP [5.6.24 and 5.6.38]. This is a security release. Several security bugs were fixed in this release. All PHP 5.6 users are encouraged to upgrade to this version.
They also have a quick note that this release for the PHP 5.5.x series is the last in the branch as laid out by the release schedule. Future updates on this branch will only be made if there are major security issues found. Otherwise developers are encouraged to upgrade to the latest versions (5.6.x at the least but really PHP 7.x would be better). You can get these latest releases either from the main downloads page (source) or from windows.php.net for the Windows binaries.
The Voices of the ElePHPant podcast, hosted by PHP community member Cal Evans, has posted their latest in their series of interviews with a member of the PHP community. In this latest episode Cal talks with Robert McFrazier.
In the show Cal and Robert talk about his presentation at the 2016 edition of the Sunshine PHP conference introducing Docker to PHP developers that may not have used it before. They also talk about some of the technical editing he's done on books covering Cassandra. Robert briefly summarizes what Cassandra is and how it can be used (and why it might be used over a relational database). Finally they talk about one of Robert's other passion - music.
You can listen to this latest interview 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 and follow them on Twitter for updates when the latest shows are released.
On the Laravel News site there's a new article posted about a big change coming to the "app" folder in Laravel-based applications (hint: it's moving towards more simple, not more complex).
As we are getting closer to the launch of Laravel 5.3 new features, seem to come out almost daily. The latest is a change to the “App” folder and in a move to simplify it, the Events, Jobs, Listeners, and Policies folders are now gone.
You can still get them back if you "artisan make" something that fits in one of these four folders but, as they're not really "required" by default they were removed to do some de-cluttering. If you want to find out more about what else is coming/changing in Laravel 5.3, check out this other article also on the Laravel News site.
Popular posts from PHPDeveloper.org for the past week:
In a tutorial posted to the SitePoint PHP blog Claudio Ribeiro tries to answer the question of "who watches the watchmen" (your application's tests) to ensure they're functioning as expected and are correct. In this new tutorial he introduces the Humbug mutation testing tool and how it can be used to verify your own tests.
Regardless of whether you’re working for a big corporation, a startup, or just for yourself, unit testing is not only helpful, but often indispensable. We use unit tests to test our code, but what happens if our tests are wrong or incomplete? What can we use to test our tests? Who watches the watchmen?
[...] Mutation Testing ( or Mutant Analysis ) is a technique used to create and evaluate the quality of software tests. It consists of modifying the tests in very small ways. Each modified version is called a mutant and tests detect and reject mutants by causing the behavior of the original version to differ from the mutant. Mutations are bugs in our original code and analysis checks if our tests detect those bugs. In a nutshell, if a test still works after it’s mutated, it’s not a good test.
He starts by helping you get it installed (a quick
composer require) and creating a simple "calculator" test to show it in use. He then creates the test for the class with some simple testing methods for the basic calculator functionality. He then configures the Humbug installation (via a JSON config file) and executes it on the current tests, sharing the resulting output. He goes through the results showing how to interpret them and points out places where the tests could be improved.
The PHP development group has released the latest in the PHP 7.1.x preview releases: PHP 7.1.0 Beta 1. This moves this next minor release out of the alpha stages and one step closer to a final release.
The PHP development team announces the immediate availability of PHP 7.1.0 Beta 1. This release is the first beta for 7.1.0. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.
PHP 7.1.0 Beta 1 builds on previous releases with: asynchronous signal handling (without ticks) in ext/pcntl and additional context in pcntl_signal handler.
As always, you can download this preview release (not designed to be use in production) from either the pre-release downloads page or the Windows PHP QA site for the Windows binaries. The release plan is for the final version of PHP 7.1.0 to be released on August 8th, 2016. For complete information on what's involved in the release, check the full list in this page on the wiki.
When features get added to PHP there’s a lot of discussion first about the new functionality. This is done on the so-called internals mailing list. You can try to follow the discussions via a rather ugly interface at http://news.php.net. The site looks like a very old school web email client where all conversations are just running through each other.
The externals.io site provides a clean interface to the discussions happening on the php.internals list, including nested threads and the ability to track unread messages. It definitely makes it simpler to keep track of the line of emails in a thread, but it's definitely read-only with no intent on being a full on mailing list replacement.
I've been working with some different frameworks lately. One of them is Zend Expressive, and I've come to the conclusion that I don't need to choose between different frameworks; depending on the project, Expressive always fits my needs and scales from small projects to bigger applications.
He starts off by looking at the "microframework approach" that Zend Expressive takes, making it easier to get up and running for smaller applications. He points out that this setup is fine when the application is small, but what happens as it grows - it just wouldn't scale well and be manageable. He talks about the setup he uses for larger scale applications, moving the configuration to dynamic config files and making use of more complex dependency injection. He also talks some about modularity in applications, the "middleware paradigm" and how he set up controller-style dispatching (versus just the default closures method).
Here's what was popular in the PHP community one year ago today: