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

Nikola Posa:
Community-driven PHP 8 Wish List
Sep 24, 2018 @ 09:08:01

Nikola Posa has a new post to his site sharing what he calls a "community-driven PHP 8 wishlist" as gathered from replies to a tweet he posted back in July 2018.

It's been over two months since I started a research on Twitter about the things that developers would like to be added or improved in the next major PHP release. [...] It had a surprisingly long reach, inspiring developers, prominent experts, community representatives to express their opinion through more than a hundred responses.

It would be a waste to leave such a valuable data in the form of a raw and fuzzy Twitter thread, so I finally found some time to turn it into something more useful.

In the post he shares the results in a spreadsheet, with the top three being: arrow functions, multi-threading and method overloading. Other interesting features also made an appearance pretty high on the list including boot-time preloading, scalar objects, native async and built-in request/response objects. Check out the post for the complete list and how it was processed into its final form.

tagged: community wishlist php8 spreadsheet results tweet

Link: https://blog.nikolaposa.in.rs/2018/09/23/community-driven-php8-wish-list/

Community News:
Zeev Suraski on PHP 8 (php.internals)
Jun 26, 2018 @ 14:28:39

On the php.internals mailing list Zeev Suraski, one of the developers behind the Zend Engine powering the PHP language, posted some thoughts about PHP 8, the next major jump for the language.

As I mentioned a few days ago I intended to send it slightly later - but as Nikita brought up the topic of PHP 8, this is probably as good a time as any to start the discussion.

The goal of this email isn't to discuss in detail each and every topic that's mentioned, but rather to establish whether we want to move to focus on PHP 8 as we go beyond PHP 7.3, based on some of the research projects and PoCs we've been working on.

He then lists out some of the places he thinks should be included in the next major version of PHP including:

  • Just-in-time compilation
  • Better support [for] long-running, async-based, microservices-focused execution model
  • Preloading support.

He notes that the list he presented is by no means complete and not a decree of what should come but suggestions of where he sees the language could dramatically improve. The post has already gathered a large number of replies from people all over in the PHP community sharing their own ideas and responding to the ones Zeev presented in his original message.

tagged: phpinternals zeevsuraski php8 mailinglist

Link: https://externals.io/message/102415

thePHP.cc:
Putting PHP 8 on the Roadmap
Feb 02, 2018 @ 09:30:07

On thePHP.cc site today they have a quick post that looks ahead at the future of the PHP language towards PHP version 8 and one planned feature - the deprecation of some multi-byte character handling.

Since the attempt to create a Unicode-based PHP implementation has failed, PHP 7 – just like PHP 5 – does not handle Unicode strings natively. The commonly used UTF-8 encoding, for example, is a multibyte encoding, as opposed to ASCII, where each character is represented by one single byte.

[...] UTF-8 is a variable-length encoding and each character (code point, to be exact) is represented by one to four bytes. For ASCII characters, everything works smoothly, because UTF-8 is a superset of ASCII. The problems start with non-ASCII characters.

The post covers some of the common issues with multi-byte Unicode characters in PHP and the role that the iconv and mbstring functions play in their handling. It shows how the mbstring handling allows developers to "cheat a little" and where, when PHP 8 comes around, the main issue will lie: the deprecation of thembstring.func_overload setting in the php.ini.

tagged: php8 roadmap unicode chanracter mbstring overload setting deprecation

Link: https://thephp.cc/news/2018/02/putting-php-8-on-the-roadmap