Vim, PHP et les espaces de noms dans Symfony

Travailler avec les espaces de noms est utile mais dans vim, il faut manuellement les insérer. Cependant, il existe un outil qui s’appuie sur ctags pour traiter le problème : vim-php-namespace. Après avec généré le fichiers de tags, vous aurez la possibilité d'ajouter le "use" nécessaire à l'utilisation d'une classe grâce à un bind déclenché sur le nom d'une classe. Si plusieurs espaces de noms correspondent à votre classe, il va vous les proposer et à vous de choisir celui qui convient.

Vim

Il ne reste plus qu'à traiter un problème : ajouter le "namespace" d'une classe qu'on est en train d'éditer. Je n'ai pas chercher de plugin pour le faire et je me suis contenté d'écrire un bout de script shell pour m'en sortir.

#!/bin/sh

FILE=$1

if [ -z "$FILE" ]; then
	echo "namespace \\"
	exit
fi

DIR=$(dirname "$FILE")
NAMESPACE=$(echo /$DIR | sed 's,/[a-z0-9][^/]*/,,g;s,/,\\,g')

echo "namespace $NAMESPACE;"

Il suffira de le déclancher avec un bind (map) du type :

map <F7> :r!/path/to/namespace %<CR>

Il va générer le code php à insérer en s'appuyant sur l'arborescence où apparait le fichier :

$ namespace src/Deblan/Bundle/BlogBundle/Controller/DefaultController.php
namespace Deblan\Bundle\BlogBundle\Controller;
Expiration de certificats SSL

Expiration de certificats SSL

Fin avril dernier, j'ai publié un projet qui génère un récapitulatif de la date d'expiratio…

Outil de création d’un espace web Apache et PHP

Outil de création d’un espace web Apache et PHP

Dans mon activité personnelle et professionnelle, je suis amené à créer des espaces d’héber…

API pour récupérer le contenu Open Graph d'une page web

API pour récupérer le contenu Open Graph d'une page web

Pour la fonctionnalité de partage de liens sur ce blog, j'ai développé un script qui récupé…


Ajouter un commentaire

Votre commentaire - Vous pouvez utiliser du markdown

Renouveler