Bonjour !
Je viens de finir mon projet en Java et je me suis remis au PHP. La je me dis, je vais une fois lire entièrement toute les nouveautés de PHP5 niveau POO.
Je vois (à mon grand étonnement) qu'on peut faire du typage d'objet. Enfin, on peut juste demander qu'un variable soit une instance d'un "array" ou d'un certain type de classe mais les types primitifs ne sont pas pris en compte.
C'est là que ça peut devenir intéressant (ou pas en fait mais bon ^^), pourquoi ne pas créer des classes int, string, float, ... pour les types primitifs un peu à l'instar de ce qui existe en java.
J'aime vraiment le concept de typage et je trouvais d'ailleurs un peu dommage qu'en PHP ce soit beaucoup plus laxiste...
Je ne sais ça réellement ce que ça peut apporter en soi à part une clarté du code accrue et au moins on est sur du type de donnée que l'on reçoit en paramètre.
Un tit exemple de ce que pourrait être une classe int (non testé) :
Bon pour le fun j'ai fait ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $x = int(40); echo $x; $x->add (int(40)); echo $x; ?>
qui affiche 4080
La classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php class int { public $x; function __construct($x) { if (preg_match('!^[0-9]*$!', $x)) { $this->x = $x; } else { echo 'Mauvais paramètre.'; } } public function add (int $x) { $this->x += $x->x; } function __toString () { return ''.$this->x; } } ?>
La méthode pour faire comme en java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function int ($x) { return new int($x); }
Voila vous en pensez quoi ? Cela vaut-il la peine d'être approfondi ? Ou ça n'apporte rien de plus à l'utilisation...
Partager