Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3148 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Des objets en attributs de classe.

n°1530373
skeye
Posté le 19-03-2007 à 10:39:12  profilanswer
 

Reprise du message précédent :
Oui, c'est ce que je suggère, et qui se fait dans tous les langages "normaux" de ma connaissance.[:joce]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 19-03-2007 à 10:39:12  profilanswer
 

n°1530427
rufo
Pas me confondre avec Lycos!
Posté le 19-03-2007 à 11:15:12  profilanswer
 

c'est ce qu'on appelle les accesseurs (pour les getAttr()) et les modificateurs (pour les setAttr()).

n°1530468
Misssardon​ik
prévisible a posteriori
Posté le 19-03-2007 à 12:20:50  profilanswer
 

Par ailleurs, dans Activité, j'avais fait une fonction (qui sert à fixer tous les attributs lors de la création d'une activité):
 

Code :
  1. function attribuer($titre, $debut, $fin, $employe, $description)
  2. {
  3.     $this->titre = $titre;
  4.     $this->setDebut($debut);
  5.     $this->setFin($fin);
  6.     $this->description = $description;
  7.     $this->employe = $employe;
  8.     mysql_query("INSERT INTO occupation VALUES ('','occupation','$titre','$debut','$fin','$employe','$description',)" );
  9.     $req=mysql_query("SELECT `id` FROM occupation WHERE debut='$debut' AND fin='$fin' AND employe='$employe'" );
  10.     mysql_close();
  11.     while ($data = mysql_fetch_array($req))
  12.     {
  13.      $this->id = $data[0];
  14.     }
  15. }


 
 
Donc ça c'est le même principe que le set($attribut), je suppose que c'est pas bon non plus... Donc là je suis plus ou moins obligé de supprimer cette fonction et de mettre le code directement dans la page, non ? (en utilisant les setTitre(), setDescription(), et setEmploye())


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
n°1530488
skeye
Posté le 19-03-2007 à 13:09:15  profilanswer
 

Ah non, là je ne vois pas de soucis...ce qui est gênant ce sont les constructions du style $truc->$nomdelattribut
 
Par contre faire un while() pour un seul tour ça me parait louche...:D
Et tu as mysql_last_insert_id qui fait ce que tu veux, d'ailleurs.


---------------
Can't buy what I want because it's free -
n°1530641
Misssardon​ik
prévisible a posteriori
Posté le 19-03-2007 à 16:46:57  profilanswer
 

skeye a écrit :

Ah non, là je ne vois pas de soucis...ce qui est gênant ce sont les constructions du style $truc->$nomdelattribut


 
Saurais tu expliquer pourquoi ? Parce que ça semble pourtant bien fonctionner...
 

skeye a écrit :


Par contre faire un while() pour un seul tour ça me parait louche...:D
Et tu as mysql_last_insert_id qui fait ce que tu veux, d'ailleurs.


 
Je ne trouve pas grande documentation sur cette fonction...
 
 
 
Bon, sinon j'ai tout modifié pour utiliser des set($valeur) au lieu des modifier($attribut, $valeur), mais le problème demeure identique...d'autres idées de trucs à tester ?


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
n°1530647
skeye
Posté le 19-03-2007 à 16:50:41  profilanswer
 

Aucune explication, c'est juste très laid et vu comme php gère ses types de variables ça ne peut que foutre le boxon.
 
 
http://fr3.php.net/manual/fr/funct [...] ert-id.php


---------------
Can't buy what I want because it's free -
n°1530669
masklinn
í dag viðrar vel til loftárása
Posté le 19-03-2007 à 17:04:57  profilanswer
 

À part ça, vous êtes au courant qu'en PHP5, il y a une Magic Man Done It Method appelée __get [:petrus dei]
 
Non parce que vous en avez pas l'air, alors je vous l'indique au cas où :o
 
Par contre je vais pas aller plus loin et je vais dire de suivre les conseils de Skeye, parce que l'utilisation de cette saleté est positivement immonde, ya bien qu'en PHP que les créateurs du langage pensent à conseiller des trucs aussi crades


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1530670
Misssardon​ik
prévisible a posteriori
Posté le 19-03-2007 à 17:05:06  profilanswer
 

skeye a écrit :

Aucune explication, c'est juste très laid et vu comme php gère ses types de variables ça ne peut que foutre le boxon.

 


http://fr3.php.net/manual/fr/funct [...] ert-id.php

 

Ok merci  :jap:

 


Bon, je suis toujours preneur pour toute suggestion de début de solution à mon problème.

 


masklinn a écrit :


Par contre je vais pas aller plus loin et je vais dire de suivre les conseils de Skeye

 

Ce que j'ai fait jusqu'ici  :jap:

Message cité 1 fois
Message édité par Misssardonik le 19-03-2007 à 17:07:13

---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
n°1530699
skeye
Posté le 19-03-2007 à 17:33:26  profilanswer
 

masklinn a écrit :

À part ça, vous êtes au courant qu'en PHP5, il y a une Magic Man Done It Method appelée __get [:petrus dei]
 
Non parce que vous en avez pas l'air, alors je vous l'indique au cas où :o


 
t'as vu la tronche du truc?[:joce]


---------------
Can't buy what I want because it's free -
n°1530702
skeye
Posté le 19-03-2007 à 17:35:10  profilanswer
 

Misssardonik a écrit :

Bon, je suis toujours preneur pour toute suggestion de début de solution à mon problème.


Je bloque, là, pas reproductible chez moi.:o
Un print_r() sur ton nouveau getTruc() retourne toujours différent de print_r($this->truc)?


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 19-03-2007 à 17:35:10  profilanswer
 

n°1530708
Misssardon​ik
prévisible a posteriori
Posté le 19-03-2007 à 17:40:47  profilanswer
 

Oui tout à fait ; si on fait le print_r() sur l'accesseur ça fonctionne (enfin ça affiche ce qu'affiche normalement un print_r(), quoi), et si on le fait directement sur l'attribut ça n'affiche rien...

 

Y'a pas une commande PHP qui renverrait le type d'un objet/variable qu'on passerait en argument ?

  

EDIT: j'ai découvert le gettype($var). Et donc je viens d'apprendre que dans ma méthode afficher() de Activite,  $this->debut est de type NULL...
Les recherches continuent. :o


Message édité par Misssardonik le 20-03-2007 à 16:18:18

---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[AS] Problème tout bête de classe/AttachMovie[C++] STL - list : doit contenir uniquement des objets dynamiques ??
Au secours! VB6 : Création dynamique d'objets dans datareportinclusion de fichiers de classe ayant le meme nom
[C++] Classe génériques et pointeur (Dev cpp)Récuper les noms des variables correspondant à des objets
[résolu] Probleme d'appel d'un objet dans ma classetableau a deux dimensions d'objets
typer paramètres d'une méthode de classe 
Plus de sujets relatifs à : Des objets en attributs de classe.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)