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.

Vus : 1231
Publié par Etenil : 58