Getter Setter dans Zend Studio

Mammouth du PHP | 1029 Messages

22 sept. 2006, 14:27

Bonjour,

dans mon ide préféré, il me manquait la génération automatique des getter et setter de mes variables privées.

J'ai fais un petit gabaris qui me régle mon problème

enregistrer le code suivant dans un editeur de texte avec l'extension .xml , puis exporter le dans /outils/personalisation/gabarits (dans le zend studio :) )

dorénavant en tapant 'pri' + enter vous obtientrez directement ceci
private $phrase2;
	

	private function set_phrase2($attr){
	
		return $this->phrase2 = $attr;
			
	}
	
	public function get_phrase2(){
	
		return $this->phrase2;
			
	}
voici le code xml

Code : Tout sélectionner

<?xml version='1.0' encoding='UTF-8'?> <templates> <template abbreviation="pri" description="Création d'une variable privé avec son getter et setter" context="PHP" code="private $${name}; ${END} private function set_${name}($attr){ return $this->${name} = $attr; } public function get_${name}(){ return $this->${name}; } " isUserTemplate="true"/> </templates>
Edit : j'ai rajouté Private et public au setter et getter pour être logique
Modifié en dernier par Maitrepylos le 14 déc. 2006, 12:14, modifié 1 fois.
L'expérience est la somme de toutes nos erreurs.

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

22 sept. 2006, 16:25

Ce n'est pas setVariable et getVariable plutôt que set_variable et get_variable normalement ? Quelles sont les conventions en PHP, suit-on les mêmes que pour Java ?

Mammouth du PHP | 19672 Messages

22 sept. 2006, 19:03

Si je me fie à la doc, ce serait __get() et __set() mais l'utilisation semble un peu différente dans ce cas, je ne suis pas familier avec le système... :-k

Voir éventuellement plus bas dans cette même page de la doc une intéressante contribution sur le sujet.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

23 sept. 2006, 15:04

__get et __set sont des fonctions magiques, ici je parlais plutôt de conventions de nommage

Mammouth du PHP | 1029 Messages

25 sept. 2006, 09:06

Ben pour ma part je commence mes variables par une miniscule et le mot suivant par une majusacule $maVariable.

Ici je met un underscore c'est afin d'éviter de mettre mes variables privé avec une majuscule.

Mais si la convention de nommage est différente, je m'appliquerais à le faire :)

Je suis votre dévoué :wink:
L'expérience est la somme de toutes nos erreurs.