PHP 6, des prémices ?

ViPHP
ViPHP | 4674 Messages

08 juin 2009, 13:32

Hey :-),

C'est Fabien Potencier qui nous fait un petit résumé de ce qui s'est raconté au PHP|Tek. Il faut donc lire l'article What for PHP6? (très court).

Ce que j'aime.
La méthode __cast, enfin un comportement digne du C. Quand on fait

Code : Tout sélectionner

int x = 42; double y = (double) x;
en réalité, on appelle la fonction int ( int ) -> double de C. Normalement, c'est équivalent à

Code : Tout sélectionner

double y = double(x);
mais les compilateurs refusent cette syntaxe. Dans la philosophie C++, les transtypages (les casts) sont des opérateurs. On peut donc les surcharger de cette façon :

Code : Tout sélectionner

// Aucun type de retour, même pas void ! MaClasse::operator long ( void ) const { return 1000 * this->getX(); }
Ça marche aussi avec des typedef bien sûr …

Code : Tout sélectionner

typedef unsigned long int ulint; MaClasse::operator ulint ( void ) const { return …; }
Et bah en PHP, la méthode magique __cast aura ce même effet j'imagine. Elle prendra sûrement en paramètre le type vers lequel on veut convertir notre objet et tadaaaa ! J'espère que __toString va disparaître pour des questions d'uniformités, mais elle risque de rester pour des questions de portabilités :-).

On trouvera quelques améliorations sur les tableaux, notamment avec ArrayObject et ArrayAccess.

On aura peut-être le support de l'héritage horizontal, plus connu sous le nom de Trait (voir Traits (ou l'héritage horizontal)).

Et !! des vraies liaisons, comme f()[0] ou f()() etc. Ça manque cruellement …

Et pour finir, des getters/setters à la C# (ça j'aime moins, je préfèrerais le mot-clé const de C …) :
class Foo {

    public $bar
        getter { return $this->bar; }
        setter { $this->bar = strtolower($value); }
}
Cette façon de procéder serait plus cohérente surtout niveau gestion mémoire et structure :-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 1511 Messages

02 juil. 2009, 14:27

Dommage que les nouvelles liaisons dont tu parles HyWaN ne soient apparement pas incluses dans php 5.3...

ViPHP
ViPHP | 4674 Messages

02 juil. 2009, 14:36

Ah c'est presque informelle comme idées hein. Ça n'allait de toute façon pas être dans PHP 5.3 :-). Il y a déjà de nouvelles nouveautés, on a de quoi s'occuper ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).