Surcharge d'operateur incrémental

Petit nouveau ! | 5 Messages

10 sept. 2008, 15:18

Bonjour,
Par le plus grand des hasards,
Est-ce que quelqu'un a réussi à surcharger l'opérateur d'incrémentation ( ++ ) par une methode maison ?

Code : Tout sélectionner

//Exemple: class date() { function ajouterJour(nbjour) {...} } //Ce que je veux; $date = new date() ; $date++ ; // je voudrais que ça effectue $date->ajouterJour(1)
Merci d'avance... Manu

Eléphant du PHP | 169 Messages

10 sept. 2008, 16:30

:shock:

Et :
$date = new date;
$date_next = $date->ajouterJour(1);
Non ?

Tu te compliques la vie pour rien, surtout si tu as défini une classe et une fonction au départ...

Petit nouveau ! | 5 Messages

10 sept. 2008, 16:34

Merci
Oui, je savais le faire avec next, mais je veux savoir si on peut surcharger '++' en php

ViPHP
ViPHP | 2287 Messages

10 sept. 2008, 16:38

Merci
Oui, je savais le faire avec next, mais je veux savoir si on peut surcharger '++' en php
Non, c'est strictement impossible ;-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Petit nouveau ! | 5 Messages

10 sept. 2008, 16:40

thx :)

Eléphant du PHP | 169 Messages

10 sept. 2008, 16:43

Sinon sans passer par une fonction, si tu incrementes ta variable $date avec l'opérateur ++ il te rajoutera 1 au dernier paramètre.

Exemple :
$date = date("Y/m/d");
echo $date."<br/>";
$date++;
echo $date;
T'afficheras :

2008/09/10
2008/09/11

[edit]Cependant ce ne sera pas considéré comme une date() donc attention au fin de mois / d'année :D

Eléphanteau du PHP | 36 Messages

10 sept. 2008, 18:17

Heu, vous avez pensé à ext/operator dans pecl ?

Une extension cool ^^
Julien Pauli - Formateur pôle PHP ZendFramework chez Anaska
Contributeur au projet Zend Framework
Ma page de tutoriaux, mon blog

ViPHP
ViPHP | 5924 Messages

10 sept. 2008, 18:32

Euh, pecl et bêta, je crois que tout est dit…

ViPHP
ViPHP | 2287 Messages

11 sept. 2008, 00:51

Euh, pecl et bêta, je crois que tout est dit…
En clair ça veut dire confidentiel et peu fiable. Je suis content de savoir que ça existe en tout cas (j'avais donc tort dans mon intervention précédente, je le reconnais), mais comme Sékiltoyai le souligne, je ne vois pas trop qui voudrait utiliser ça en l'état ;-)

L'as tu toi-même utilisée dans des projets conséquents, doctorrock ?
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 36 Messages

11 sept. 2008, 11:43

Pas pour des projets conséquents, mais elle fonctionnait bien sur les tests que j'ai fait.

Faut voir en poussant un peu loin, au pire, le code source C reste modifiable hein ^^ (bon c'est sur faut être skillé sur le Zend Engine, mais l'abstraction est bonne et ya des bouquins qui traitent de ça pour les intéréssés :lol: )
Julien Pauli - Formateur pôle PHP ZendFramework chez Anaska
Contributeur au projet Zend Framework
Ma page de tutoriaux, mon blog