PHP 7+: The whys and hows


PHP 7 comes with massive performance improvements, and with PHP 7.2 around the corner, it is time we update our code to be compatible with the modern, faster, and secure PHP 7.

This session will walk through the major changes and improvements in PHP 7, 7.1, and the currently finalized 7.2. This is not targeted for Drupal specifically, but there will be information on Drupal-specific changes as well, one of them being requiring a minimum PHP version project-wise and module-wise, with regular .info file and composer formats.

  • Generators for efficient data storage and retrieval
  • Scalar type hints for statically analyzable code
  • Strict typing
  • Modern curl and TLS features (ECC keys, HTTP/2, etc)
  • Null coalesce, spaceship operators
  • Anonymous classes
  • Better error handling with catchable parse errors, type errors, and new Throwable exception type
  • Userland CSPRNG
  • Libsodium in core
  • Expectations/assert
  • Removed and deprecated features
  • ... and more

PHP 7 is a major step forward from 5.6, and the frequent releases of 7.1, and the new 7.2 which is currently in beta comes with a lot polishing for the language too.

This session is for everyone, including the beginners that we try to focus on how to make use of these new features, and why they are important & useful. PHP 7 has been around for a some time now, and some of the most used open source projects, such as PHPUnit now require PHP 7.0, while components of doctrine project require PHP 7.1.

That said, even though this session is a 25-minute session, we will try to squeeze as much as possible, with a few minutes for Q&A, and being open to ask questions during the session, we will try to open new possibilities, clean up the code, modernize, secure, and speed up your existing and new PHP projects.

Session Track


Experience Level


Drupal Version

When & Where

Tuesday, 26 September, 2017 - 14:50 to 15:15
Schubert 4-5