Incrementer la valeur d une propriete d une class ?

Incrementer la valeur d une propriete d une class ? - PHP - Programmation

Marsh Posté le 27-02-2005 à 18:09:30    

Voila ce que g :
 

Code :
  1. $Mon_Objet[] = new MaClass;
  2. .....
  3. $Mon_Objet[ $i]->MaValeur++;


 
et je me retrouve avec un notice Undefined property "MaValeur"
 
G bien essaye un truc du style ($Mon_Objet[ $i]->MaValeur)++ mais cela ne fonctionne pas non plus c meme bloquant
 
Qqun saurait il me dire comment faire ?

Reply

Marsh Posté le 27-02-2005 à 18:09:30   

Reply

Marsh Posté le 27-02-2005 à 18:16:21    

c'est quoi cet espace dans les [] ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 27-02-2005 à 18:25:38    

question de lisibilite,ce n rien, c histoire d aerer le code et cela n a aucune influence dessus.
 
Je l utilise que ce soit en Delphi ou php et je n ai jamais eu de pb avec, d ailleurs je le vire cela ne regle jamais mon pb :p
 
au fait une idee de mon pb ? :)
Merci

Reply

Marsh Posté le 27-02-2005 à 18:27:37    

je ne suis qd meme pas obliger de passer par une etape intermediaire ???
 
style  
 
$temp = $Mon_Objet[$i]->MaValeur;
$temp++;
$Mon_Objet[$i]->MaValeur = $temp;

Reply

Marsh Posté le 27-02-2005 à 19:21:08    

On peut voir le code de ta classe ??
 
Sinon, si tu passe par un val intermediaire, tu peux le faire avec un reference :

Code :
  1. $temp = &$Mon_Objet[$i]->MaValeur;
  2. $temp++;


Mais nornalement tu n'as pas besoin de passer par une etape intermediaire.
 
[edit]
Tiens maintenant que j'y pense, l'acces aux membres d'une classe est-elle possible ??
Si tu es sous php5, essaye de declarer publique la var que tu veux modifer. Sur php4 je sais pas si cela est possible, ni quelle est la "valeur" par defaut.
 
Sinon au "pire" passe par un "setter" (qui en realite, est considire comme de la bonne prog).
 

Code :
  1. $MonObjet[$i]->setValeur(++$MonObjet[$i]->getValeur());


[/edit]


Message édité par cerel le 27-02-2005 à 19:24:28
Reply

Marsh Posté le 27-02-2005 à 19:33:12    

g deja essaye le "setter" , la c encore plus lol car il me dit T_OBJECT_OPERATOR qd je fais un this->mavaleur++;
 
Pour ce qui est du code de la class, y a rien de plus bete
 
class maclass{
var $mavaleur
 
function maclass()
this->mavaleur= 0;
}
 
g teste
function addvaleur()
{
this->mavaleur++;
}
}
 
je suis  sous easyphp1.7 => php 4.3.3


Message édité par mkracing66 le 27-02-2005 à 19:33:45
Reply

Marsh Posté le 27-02-2005 à 19:37:54    

Ce n'est pas "plus lol", c'est toi qui fait une erreur, c'est $this, pas this tout court :sarcastic:  

Reply

Marsh Posté le 27-02-2005 à 19:54:04    

naceroth a écrit :

Ce n'est pas "plus lol", c'est toi qui fait une erreur, c'est $this, pas this tout court :sarcastic:


 
tout à fait...
 
c'est meme bizarre que le fichier dans lequel est déclaré cette classe ne provoque pas une erreur (ou notice au moins)...
 
pour répondre à Cerel, et paske j'ai le cas dans une appli perso, oui meme avec un PHP inférieur à la version 5 il est possible d'accéder aux membres d'une classe.


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 28-02-2005 à 00:30:59    

pppfff vous croyez vraiment que je serais bloque sur du code ailleurs que dans ma classe si c etait si simple
g juste taper vite fait du code pour vous donner une petite idee de la class et g omis de mettre le $ pour this thats all


Message édité par mkracing66 le 28-02-2005 à 00:31:29
Reply

Marsh Posté le 28-02-2005 à 07:57:45    

Si tu faisais un bete copier/coller de ta classe se serait mieux, parceque la je vois pas d'erreur apparente.
 
Pour info, je sais a quoi ca ressemble une classe, mais j'etait interesse par TA classe, pas un exemple de classe. :D

Reply

Marsh Posté le 28-02-2005 à 07:57:45   

Reply

Marsh Posté le 28-02-2005 à 09:10:27    

mkracing66 a écrit :

pppfff vous croyez vraiment que je serais bloque sur du code ailleurs que dans ma classe si c etait si simple
g juste taper vite fait du code pour vous donner une petite idee de la class et g omis de mettre le $ pour this thats all


 
http://webxav.chez.tiscali.fr/gif/src1/villou.gif
 
excuse nous quand tu tape ton code à la va-vite plutot que de penser ctrl+C/ctrl+V de ne pas etre capable d'imaginer ce que tu aurais du taper, d'en déduire donc le code exact que tu as chez toi, et ensuite ce qui déconne dedans...
 
tu nous prendrais pas un peu pour des c*** ?
 
je veux bien rendre service, mais le gars qu'a un pb, qu'est pas foutu de copier le code exact de sa page et qui va te reprocher de pas trouver la solution à SON problème... ben le lundi matin c'est le genre de truc qui me met de mauvaise humeur... http://webxav.chez.tiscali.fr/gif/src1/bcastaldi2.gif


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 02-03-2005 à 15:04:25    

chercher pas PHP 4 Suxxx, passage en php 5 avec __construct, variable en public SANS RIEN TOUCHER SINON et Oh miracle plus un seul message meme en E_STRICT !
 
PS: pour Xav, la class que g file etait tapee a la va vite car je n etais pas sur mon poste bien qu elle ne differe juste que sur le nombre de proprietes, mais tu crois que je me ferais chier a corriger un "Undefined property" sur du code externe a la class, je me serais frappe un T_OBJECT qq part avant deja :p
Now ma reponse etat plus desabusive qu autre chose, la tienne est aggressive mais COMME TOUJOURS je dirais...je ne suis pas le 1er a en faire la remarque, ni le dernier, peut etre qu une remise en cause de ta part serait une bonne chose MONSIEUR 100% PERFECTION !

Reply

Marsh Posté le 02-03-2005 à 15:27:42    

Citation :

MONSIEUR 100% PERFECTION


merci, merci, j'y travaille...
 
quant à mon ton agressif, avec plus de 1000 posts en moins d'un an, j'ai jamais été modéré, au contraire, j'ai meme déjà été félicité pour avoir gardé mon calme face à des insultes flagrantes...
Donc pour ce qui est de la remise en cause, ben c'est pas prévu tout de suite... peut etre meme jamais...
 
Je t'ai reproché d'avoir tapé ton code à la vavite, tu dis toi meme dans ton dernier post que c'étais le cas...
Et tu a reproché à Cerel de ne pas avoir déduis par lui-meme que c'était une erreur de recopie....
Ben désolé, je fait comme lui, je demande, paske qu'and t'a eu une fois le cas d'un gars qui a vraiment pas été foutu de mettre des ";" à la fin des instructions et qui te le copie/colle (50 lignes) pour que tu trouve ce qui cloche... et ben tu arrete de penser que les erreurs sont des erreurs de copier/coller, meme des trucs immonde des fois c'est le vrai source... (si si, j'ai déjà vu...)
 
PS: pour info, je dis les chose franchement, et les gens l'assimile souvent (à tord) à de la méchanceté, ce n'en ai pas... mais malgré qques petits smiley, l'intonation n'est pas disponible sur un forum, c'est de la communication écrite... et c'est ce qui me donne malgré moi un air méchant...
 
Ecoute un sketch de Bigard, c'est vachement marrant, maintenant tu le lis... le truc est plein de grossierté et parfois d'insulte envers le public (donc toi quand tu le lis), et avec le ton froid de l'écriture ben t'a envie de le tuer...le gars, à ce moment là....
 
          ----
 
Celà dis, je ne perd jamais de vu l'objectif, tu es venu avec un prob, il est résolu (sans mon aide, mais ça je m'en fous), donc content pour toi, et sans rancunes (de ma part en tout cas).
je demeurerai incompris mais ça n'en rendra que meilleure ma carriere artistique naissante :P


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 02-03-2005 à 16:09:04    

Je ne veux pas rentrer dans ce genre de debat eternel, mais juste une fois rien qu une fois relis le post que tu as mis, qq soit le ton employe le poids des mots reste le meme.
 
Je te donne un exemple, si je te dis "va te faire exxxler" qq soit le ton ou la facon de le dire, smiley ou pas, ca reste un discours aggressif.
 
A bon entendeur

Reply

Marsh Posté le 02-03-2005 à 16:27:23    

+1 pour Xav_
et -1 pour Mkracing66
 
Tu prend trop vite la mouche et c'est pas bon pour le moral, c'est tout ;)
 

Reply

Marsh Posté le 02-03-2005 à 17:14:11    

le poid des mots est une chose, ceux que j'ai employé son très loin du niveau de l'exemple que tu donne...
 
et rien que pour essayer d'etre lisible sache que chacun des mes posts sont relus 2 à 3 fois avant la validation... (pour la simple raison que je suis légèrement atteind de dislexie et que la VO de certain de mes posts vous serez totalement inaccessible ;))
 
Mais nous sommes d'accord au moins sur un point ce genre de débat est souvent éternel, et on est pas dans "Blabla" donc je te rejoins dans l'idée dans rester là.
 
Bonne continuation dans ton projet...
 
PS: pour ton exemple, justement bigard dis souvent dans ses sketchs la meme phrase que tu cite à une/des personnes du public, qui réagisse à celà par un fou-rire... mais bon bigard n'est pas forcément du gout de tous...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed