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

Jordi Boggiano:
The Road to Monolog 2.0
Dec 23, 2015 @ 11:18:01

Fans of the Monolog logging library (used by loads of major PHP-based projects too) will be interested in checking out this post about version 2 from Jordi Boggiano, lead developer on the project.

Monolog's first commit was on February 17th, 2011. That is almost 5 years ago! I have now been thinking for quite a while that it would be nice to start on a v2, and being able to drop some baggage.

One of the main questions when doing a major release is which minimum PHP version to support going forward. Last summer I decided I wanted to do a big jump from 5.3 and directly target PHP 7. It provides a lot of nice features as well as performance improvements, and as Monolog is one of the most installed packages on Packagist I wanted to help nudge everyone towards PHP 7.

Now that PHP 7 has been released, he's moving even more towards this goal for version 2 of the popular tool. He talks about "the road forward" and links to a milestone that's been set up with issues to correct and features to update before v2.0 can be called stable. He does offer a word of warning too - if you use dev-master for your Composer installs, update it to use ^1.17 instead as the main branch will break soon with the work for v2.

tagged: monolog v2 php7 major release upcoming milestone

Link: http://seld.be/notes/the-road-to-monolog-2-0

Symfony Blog:
Improving the Symfony Release Process
Dec 11, 2015 @ 10:49:10

On the Symfony blog there's a new post from Javier Eguiluz talking about improvements to the Symfony release process that will be starting with the 3.0.0 stable release (already release so already in place).

The Symfony Release Process is arguably one of the best selling points of the Symfony project. Thanks to our predictable and transparent process, companies can plan years in ahead their Symfony integration.

The recent launch of Symfony 2.8, which will be the last minor version of the 2.x branch, made us think about further tweaks in the release process. That's why during his past SymfonyCon Paris 2015 keynote, Fabien Potencier announced the new Symfony release process.

The main changes for the process are around how many minor versions will be published, standard vs long term support status of these releases and the timing of major/minor releases. With this schedule in place, it's projected that Symfony 4 will be released in November of 2017.

tagged: symfony release process improvement schedule minor major version

Link: http://symfony.com/blog/improving-the-symfony-release-process

Community News:
Slim Framework v3.0.0 Released
Dec 08, 2015 @ 12:51:17

The Slim Framework project has officially announced the release of the next major version of their popular microframework: Slim 3.0.0.:

We are delighted to release the first stable version of Slim 3, 3.0.0 following a series of release candidates. [...] Slim 3 is a major update with all parts of the framework updated.

New features in this major version release include:

  • the change to a container-interop compatible dependency injection system
  • complete PSR-7 support
  • an update to internal classes to code against interfaces rather than concrete classes
  • route callback binding to $this (the Container instance)

They've also gotten rid of some of the "cruft" that had built up over previous versions and slimmed down (pardon the pun) the codebase making it even simpler and more component driven. They've posted installation instructions to help you get started and a simple skeleton application you can drop in and be up and running quickly.

tagged: slim3 framework microframework release announcement major version

Link: http://www.slimframework.com/2015/12/07/slim-3.html

PHP 7.0.0 Released
Dec 03, 2015 @ 14:23:09

In a major announcement to the PHP.net site, the long awaited stable version of the next major released of PHP has finally come: PHP 7.0.0 has been released!

The PHP development team announces the immediate availability of PHP 7.0.0. This release marks the start of the new major PHP 7 series.

PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements and new features such as

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • Significantly reduced memory usage
  • Abstract Syntax Tree
  • Consistent 64-bit support
  • Improved Exception hierarchy
  • Many fatal errors converted to Exceptions
  • Secure random number generator
  • Removed old and unsupported SAPIs and extensions
  • The null coalescing operator (??)
  • Return and Scalar Type Declarations
  • Anonymous Classes
  • Zero cost asserts

As always you can download this latest released from the main downloads page or from windows.php.net for the Windows binaries. They've also posted a migration guide to help you move your current application up to this latest version.

tagged: language release php7 major version

Link: http://php.net/archive/2015.php#id2015-12-03-1

PHP 7 Up and Running (Video Series)
Aug 28, 2015 @ 10:38:14

The Laracasts site has posted a set of videos that can help you learn all about PHP7 and get you up to speed before this next major release is available for download (well, a stable release anyway).

Slated for release in October, 2015, PHP 7 brings a wealth of new features, bug fixes, and performance improvements. If you're curious, come with me, as I demonstrate what's new!

The videos cover some of the major new features coming to the language including:

More videos are coming too, including one already listed showing how to use anonymous classes. Keep an eye on this series to learn all about PHP 7 before it's even released.

tagged: php7 video series introduction major version tutorial

Link: https://laracasts.com/series/php7-up-and-running

Engine Yard Blog:
What to Expect When You're Expecting: PHP 7, Part 2
Apr 08, 2015 @ 11:07:08

The Engine Yard blog has posted the second part of Davey Shafik's "What to Expect with You're Expecting: PHP7" series. In this new post he gets into the details of a few more of the upcoming PHP7 features including generator improvements and engine exceptions.

As you probably already know, PHP 7 is a thing, and it’s coming this year! Which makes this as good a time as any to go over what’s new and improved. In the first part of this series, we looked at the some of the most important inconsistency fixes coming up in PHP 7 as well as two of the biggest new features. In this post, we take a look another six big features to land in PHP 7 that you’ll want to know about.

The features he talks about this time are:

  • Unicode Codepoint Escape Syntax
  • Null Coalesce Operator
  • Bind Closure on Call
  • Group Use Declarations
  • Generator return expressions and delegation
  • Engine Exceptions

He also includes three things you can do to help/get prepared for this upcoming release including testing your code on a PHP7 VM or help out with writing tests and documentation for PHP and its extensions.

tagged: engineyard php7 feature list major unicode coalesceoperator bindclosure groupuse generator engineexception

Link: https://blog.engineyard.com/2015/what-to-expect-php-7-2

Pascal Martin:
PHP Version Statistics - October 2014
Oct 28, 2014 @ 11:23:13

Pascal Martin's latest post (in French, but the English version is coming soon) shares some statistics he's gathered around the usage of various software around the web, more specifically those involved in web-based applications.

I've collected statistics about the use of different PHP versions several times. The first time was in September 2011 and the most recent was in November 2013. At this point, PHP 5.2 still accounted for 34.4% of all PHP installations with PHP 5.3 moving up to 48.7%. This new data was collected the weekend of October 19th, 2014. At this point, the current stable versions of PHP are 5.4.34, 5.5.18 and 5.6.2. PHP 5.3 is no longer maintained (since August 14th 2014) and PHP 5.2 hasn't been supported for 4 years now.

He's broken up the statistics into a few different sections:

  • Web server software
  • Usage of major versions of PHP
  • Usage of minor versions of PHP
  • Versions in use under each of the major version numbers

He includes both the raw numbers (percentages) and some graphs showing the results in a bit more consumable fashion. It's interesting to see that, despite it being quite an old version now, PHP 5.3.x still has the largest share in the usage results.

UPDATE: He's posted the English version now as well.

tagged: usage statistics oct2014 version major minor webserver

Link: http://blog.pascal-martin.fr/post/statistiques-versions-php-2014-10

PHP 5.6.0 released
Aug 28, 2014 @ 10:36:15

The PHP development group is happy to announce the official release of the latest in the PHP 5 series - PHP 5.6.0. This release includes lots of bug fixes and several new features including:

There's also several things that will break compatibility with code written for previous versions including changes in JSON decoding, GMP resource handling and updates to the mcrypt functions. For more information on these changes and the list of things to know before using it, check out the migration guide. As always, you can get this latest version from the downloads page or windows.php.net for the Windows users.

tagged: language release update major verson php56

Link: http://php.net/archive/2014.php#id2014-08-28-1

Derick Rethans:
On Backwards Compatibility and not Being Evil
Aug 22, 2014 @ 09:20:55

Derick Rethans has shared some of his thoughts on how to not be evil when it comes to making changes in languages like PHP. He suggests that any backwards compatibility break should be treated with the weight it deserves and not just thrust upon users.

This is a repost of an email I sent to PHP internals as a reply to: "And since you're targetting[sic] the next major release, BC isn't an issue." This sort of blanket statements that "Backwards Compatibility is not an issue" with a new major version is extremely unwarranted. Extreme care should be taken when deciding to break Backwards Compatibility. It should not be "oh we have a major new version so we can break all the things"

He talks about the two kinds of backwards compatibility breaks: obvious things where features are removed or changed in a major way and subtle changes in how the underlying code for PHP works ("subtle changes"). He points out that most of the frustrations from users comes from the second type, making for a slower adoption rate and maybe not even adopting at all.

Can I please urge people to not take Backwards Compatibility issues so lightly. Please think really careful when you suggest to break Backwards Compatibility, it should only be considered if there is a real and important reason to do so.
tagged: evil backwards compatibility break major version opinion

Link: http://derickrethans.nl/bc-dont-be-evil.html

PHP 7 Features and Release Date
Aug 04, 2014 @ 12:54:58

As Manuel Lemos mentions in his most recent blog post the official name for the next major release of the PHP language has been decided...and no, it's not PHP 6. Based on the results of this vote, the next major version will start off the PHP 7 series.

Manuel talks about some of the reasoning behind skipping over the PHP 6 naming and how it's possible that the PHPNG branch could become the base for PHP 7. Some of the improvements in this release could include:

  • Huge Performance Improvements
  • JIT (Just In Time) Engine
  • AST: Abstract Syntax Tree

As it stands now, there's no predicted release date for PHP 7, but guesses put it between one to three years out, depending on the functionality it plans to include.

tagged: php6 php7 language update major version release

Link: http://www.phpclasses.org/blog/post/242-PHP-7-Features-and-Release-Date.html