Über das use-Statement ließen sich in PHP bisher lediglich Typen und Namespaces importieren. Dank Igor Wiedlers Einreichung „Importing namespaced functions“ vom Mai, die im September 2013 via Vote angenommen wurde, lassen sich künftig auch Funktionen über diesen Weg importieren. Das wurde mit einem der jüngsten Merges für den PHP-5.6-Code in Stein gemeißelt. Die komplette Ratio hinter use_function und wie Ihr die neuen Konstanten einsetzt, lernt Ihr im RFC.
Damit reiht sich use_function ein in die Liste bereits abgenommener Features für die kommende PHP-Version. Diese umfasst bislang folgende Neuerungen:
- Importing namespaced functions Proposes to allow importing namespaced functions through a new `use function` sequence.
- Constant Scalar Expressions (with constants) This RFC proposes adding support for Constant Scalar Expressions with support for constants being operands.
- Internal operator overloading and GMP improvements Add support for operator overloading in internal classes and improve GMP using it
- Remove calls from incompatible context Calls from incompatible context deprecated in 5.6 (will be removed in next version).
- Dedicated syntax for variadic functions This RFC introduces a dedicated syntax for variadic functions.
- Crypt() function salt This RFC proposes changing crypt() function’s salt parameter treatment.
use_function ging ursprünglich mit function_autoloading einher; jedoch zog dessen Autor Anthony Ferrara den RFC zurück, nachdem er sich aufgrund von Differenzen mit den PHP Internals aus der Core-Entwicklung vollständig zurückgezogen hatte. Wie es nun damit weitergehen wird, ist auch laut dem Release Manager für PHP 5.6 Ferenc Kovacs offen:
@phpmagazin I remember seeing it on irc that somebody will take over the RFC and propose it soon. We will see. /cc @igorwhiletrue @ircmaxell
— Ferenc Kovacs (@Tyr43l) December 9, 2013