Getter et Setter generateur ????

Le
slambert
Salut !

Juste pour savoir, pour ceux qui font de l'objet : quand vous avez un objet
avec pleins de propriétés, et que vous voulez l'encapsuler proprement : vous
utilisez quoi pour générer automatiquement vos getter et setter ?

Eclipse le fait très bien pour Java, et VS pour C#.

Or, Eclipse pour php ne sais pas le faire, et Zend 5 non plus.

Grrrr : )

Merci du tuyau potentiel, car c'est un peu idiot de perdre du temps sur ce
genre de bêtises répétitives.

@++

Stef
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Francois Girault
Le #53712
Salut !

Juste pour savoir, pour ceux qui font de l'objet : quand vous avez un objet
avec pleins de propriétés, et que vous voulez l'encapsuler proprement : vous
utilisez quoi pour générer automatiquement vos getter et setter ?

Eclipse le fait très bien pour Java, et VS pour C#.

Or, Eclipse pour php ne sais pas le faire, et Zend 5 non plus.

Grrrr : )

Merci du tuyau potentiel, car c'est un peu idiot de perdre du temps sur ce
genre de bêtises répétitives.



Concernant eclipse, avec l'extension PDT ou phpeclipse, on peut écrire
des templates de code (cf les préférences de l'environnement)

Avec PDT, j'ai fait ce template :

public function get${name}() {
return $$this->${name};
}

public function set${name}($$${name}) {
$$this->${name} = $$${name};
}

je tape "getset" puis ctrl-espace, et hop.

C'est généralisable à toute structure répétitive et de base, PDT fournit
tout ce qu'il faut pour les boucles, les conditions, etc ...

--
FG

slambert
Le #53338
Concernant eclipse, avec l'extension PDT ou phpeclipse, on peut écrire des
templates de code (cf les préférences de l'environnement)


Tu as une doc là dessus ?


Avec PDT, j'ai fait ce template :


PDT, c'est mieux que phpeclipse ?

Merci de ta réponse

@++

Stef

Bruno Desthuilliers
Le #53336
Salut !

Juste pour savoir, pour ceux qui font de l'objet : quand vous avez un objet
avec pleins de propriétés, et que vous voulez l'encapsuler proprement : vous
utilisez quoi pour générer automatiquement vos getter et setter ?


Tu n'a pas l'impression qu'il y a une contradiction entre "encapsuler
proprement" et "générer automatiquement" ?

Accessoirement, encapsulation != restriction d'accès.


Merci du tuyau potentiel, car c'est un peu idiot de perdre du temps sur ce
genre de bêtises répétitives.


php5 n'offre pas un mécanisme générique pour les accès aux attributs ?

http://www.php.net/manual/en/language.oop5.overloading.php

slambert
Le #53335
Tu n'a pas l'impression qu'il y a une contradiction entre "encapsuler
proprement" et "générer automatiquement" ?


Non. Il suffit de regarder le résultat pour vérifier et de comprendre ce que
l'on fait.

Par contre, se taper 30 getter et setter à la mimine pour 15 propriétés,
c'est ce que j'appelle du temps perdu


php5 n'offre pas un mécanisme générique pour les accès aux attributs ?
http://www.php.net/manual/en/language.oop5.overloading.php


Pour la surcharge ?

Mais pas de manière générique, ou alors je suis passé à travers, et ca me
rendrait bien service.

Stef

Thomas Labourdette
Le #52961
slambert a écrit le vendredi 18 mai 2007 17:33 :

Tu n'a pas l'impression qu'il y a une contradiction entre "encapsuler
proprement" et "générer automatiquement" ?


Non. Il suffit de regarder le résultat pour vérifier et de comprendre ce
que l'on fait.

Par contre, se taper 30 getter et setter à la mimine pour 15 propriétés,
c'est ce que j'appelle du temps perdu


Maintenant une classe qui a autant de propriétés publiques révèle,
peut-être, un problème de conception non ?

@+
--
Sally RITOFESS (signature et citation aléatoires)
Inscriptions relevées sur divers produits de grande consommation :
Sur un sèche cheveux SEARS : "Ne pas utiliser en dormant."


Francois Girault
Le #52963
Tu as une doc là dessus ?


Non, désolé, mais dans les préférences, c'est limpide :

Window->Preferences

Puis section PHP -> Templates

PDT, c'est mieux que phpeclipse ?



je trouve sa complétion plus sympa, plus php5-friendly que phpeclipse.

Comme PDT est un projet officiel rattaché à eclipse avec la
collaboration de Zend, m'est d'avis qu'il deviendra l'environnement de
référence sous eclipse.

Je vous recommande un paquet "PDT All-in-One", car il est assez pénible
à installer manuellement (beaucoup de dépendances).

Ceci dit, phpeclipse faut aussi un boulot respectable, s'il vous suffit,
pas besoin de plus ...

--
FG

slambert
Le #52958
Par contre, se taper 30 getter et setter à la mimine pour 15 propriétés,
c'est ce que j'appelle du temps perdu


Maintenant une classe qui a autant de propriétés publiques révèle,
peut-être, un problème de conception non ?


Publiques ? Où est ce que tu as lu publique, toi ??????

La question était si l'un d'entre vous connaissait un outil pour aider à
générer les getter et setter comme cela se trouve depuis de nombreuses
années dans les outils de dev pour Java et C#.

Je suis désolé de la gène ou de l'incompréhension occasionnée par cette
simple question auprès des gens qui n'ont jamais été confrontés à l'écriture
d'objets ayant 15 propriétés en private nécessitant la mise en place de
getter et de setter.

@ ++

Stef


slambert
Le #52959
Non, désolé, mais dans les préférences, c'est limpide :


phpEclipse n'accepte pas cette manipulation, ou tout du moins pas la mnière
dont je l'ai tentée : )



Je vous recommande un paquet "PDT All-in-One", car il est assez pénible à
installer manuellement (beaucoup de dépendances).


Je vais aller tester, car je trouve phpEclipse parfois un chouilla limité.
Et puis cela ne fera pas de mal à ma culture.

Merci du tuyau !

@++

Stef

Olivier Miakinen
Le #52955
Puisqu'il semble y avoir une certaine incompréhension entre d'une part
slambert et d'autre part Bruno Desthuilliers et Thomas Labourdette, je
vais tenter une explication de texte. Vous me direz, les uns et les
autres, si j'ai bien compris de quoi vous parlez.


Par contre, se taper 30 getter et setter à la mimine pour 15 propriétés,
c'est ce que j'appelle du temps perdu


Maintenant une classe qui a autant de propriétés publiques révèle,
peut-être, un problème de conception non ?


Publiques ? Où est ce que tu as lu publique, toi ??????


J'ai supposé que les « getter » et « setter » étaient des fonctions
publiques servant à accéder aux propriétés privées. Comme tu cherches
à les générer automatiquement, et que je ne vois pas quel outil
automatique pourrait faire autre chose que les transmettre sans aucune
modification ni aucun contrôle, cela rend donc les propriétés publiques
ou tout comme.

Alors peut-être qu'une fois que les 30 fonctions auront été générées
automatiquement tu referas un tour manuel pour en supprimer une grande
partie et modifier la plupart de celles qui resteront, mais tu ne l'as
pas dit.

De deux choses l'une : soit tu laisses tes 30 fonctions inchangées et on
peut effectivement penser -- comme Thomas -- que ta classe a un problème
de conception ; soit tu les changes et alors ce n'est plus tellement
automatique -- comme semblait le supposer Bruno.

Je suis désolé de la gène ou de l'incompréhension occasionnée par cette
simple question auprès des gens qui n'ont jamais été confrontés à l'écriture
d'objets ayant 15 propriétés en private nécessitant la mise en place de
getter et de setter.


Est-ce que ma tentative d'explication enlève un petit peu de cette
incompréhension ?



Thomas Labourdette
Le #52954
Olivier Miakinen a écrit le samedi 19 mai 2007 21:10 :

Puisqu'il semble y avoir une certaine incompréhension entre d'une part
slambert et d'autre part Bruno Desthuilliers et Thomas Labourdette, je
vais tenter une explication de texte. Vous me direz, les uns et les
autres, si j'ai bien compris de quoi vous parlez.



Publiques ? Où est ce que tu as lu publique, toi ??????


J'ai supposé que les « getter » et « setter » étaient des fonctions
publiques servant à accéder aux propriétés privées.


C'est exactement ce que j'en ai compris.

Comme tu cherches
à les générer automatiquement, et que je ne vois pas quel outil
automatique pourrait faire autre chose que les transmettre sans aucune
modification ni aucun contrôle, cela rend donc les propriétés publiques
ou tout comme.


Pareil.

Merci pour ce résumé.

@+
--
Jean TISSIPE (signature et citation aléatoires)
" Le sexe c'est comme un jeu de cartes : si tu n'as pas un bon
partenaire, tu as intérêt à avoir une bonne main " J-C Van Damme.


Publicité
Poster une réponse
Anonyme