RFC: Context Sensitive Lexer

La RFC: Context Sensitive Lexer partait du constat qu’il existe actuellement 64 mots clefs réservés par PHP et que certains d’entre eux seraient très utiles en tant que noms de méthodes, pour définir des API claires côté utilisateur.

Elle proposait donc de modifier l’analyse du code PHP afin de disposer d’une analyse lexicale sensible au contexte, permettant l’utilisation de mots clefs ; en se limitant pour l’instant au périmètre de la programmation objet :

// Le code suivant devient possible:
interface Collection
{
    public function forEach(callable $callback);

    public function list();
}

// Mais pas le suivant:
function list() {/* */}

De plus, cette RFC permettrait également de limiter les problèmes de rétro-compatibilité à l’avenir, lorsque PHP réservera de nouveaux mots clefs.

Considérant que pouvoir utiliser des mots-clefs comme noms de classes ou de méthodes était intéressant, nous avons (à l’unanimité !) posté en ce sens sur internals@.
Cette RFC a été acceptée pour PHP 7.0, avec 36 votes « pour » et 12 votes « contre ».

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *