Automatiquement créer des accesseurs pour PHP
Voici une paire de fonctions pour Emacs qui permettent de créer des accesseurs vite fait bien fait pour PHP.
(defun php-make-accessors (variable-name) "Insert a couple of accessors for the given member variable." (interactive "MVariable name (without $_): ") (let ((beg (point))) (insert (format (concat "public function set%s($value)\\n" "{\\n$this->_%s = $value;\\n" "return $this;\\n}\\n\\n") (capitalize variable-name) variable-name)) (insert (format (concat "public function get%s()\\n" "{\\nreturn $this->_%s;\\n}\\n\\n") (capitalize variable-name) variable-name)) (indent-region beg (point))))
Il y a quelques limitations, notamment le fait que les propriétés doivent s’appeler $_xxx. Pour l’utiliser, copiez la dans votre ~/.emacs puis invoquez la fonction dans le corps de votre classe à l’aide de M-x php-make-accessors.
Voici une autre fonction qui emploie la première afin de générer une série d’accesseurs:
(defun php-make-accessors-list (vars) "Inserts accessors for each variables provided. Variables must be a comma-separated string, e.g. \\"a,b,c\\"." (interactive "MVariables list (comma-separated, without $_): ") (let ((variables (split-string vars "," t))) (mapcar 'php-make-accessors variables)))
Pour employer celle-ci, faites M-x php-make-accessors-list, puis entrez les noms des variables pour lesquelles vous souhaitez générer des accesseurs, comme ceci: a,b,c pour accéder à $_a, $_b et $_c.