fonctions

Les fonctions cachées de Devel

Quoi de plus frustrant de ne pas savoir ce qui se passe lorsque qu'une page se charge dans Drupal ? angry On a souvent des pages de redirection qui contiennent des erreurs et qui nous empêchent de les voir.
Lorsque que l'on développe un module ou que l'on construit un thème, on aimerait parfois savoir ce qui se trouve dans certaines variables.

Alors qu'est ce qui s'offre à nous ? Un drupal_set_message('<pre>'.print_r($variable, true).'</pre>'); ? Un peu long vous ne trouvez pas ? indecision

Eh bien le module Devel, spécifiquement conçu pour faciliter le développement de modules et l'administration de Drupal apporte quelques fonctions tout simplement géniales :

1
dsm($input, $name = NULL);

alias de drupal_set_message, met la variable en forme de menu déroulant avec la librairie Krumo
$input :
votre variable ou votre texte
$name : (optionnel) préfixe a donner au message (exemple : dsm('contenu de ma variable', 'ma variable); donnera "ma variable => contenu de ma variable")

 

1
dpm($input, $name = NULL);

alias de dsm()
 

1
dvm($input, $name = NULL);

même fonctionnement que dsm() mais en utilisant var_dump() (exemple : dvm('mon contenu'); donnera "string(11) "mon contenu")
 

dpr($input, $return = FALSE, $name = NULL);

affiche le print_r() de votre argument au debut de la page ou le stocke dans une variable (très pratique si les messages ne sont affichés dans aucune région du thème)
$return : si TRUE, le print_r() de l'entrée sera renvoyé

 

kpr($input, $return = FALSE, $name = NULL);

même fonctionnement que dpr() mais affichera si possible avec la librairie Krumo
 

dvr($input, $return = FALSE, $name = NULL);

même fonctionnement que dpr() mais utilisera var_dump()
 

Mais aussi d'autres ne concernant pas forcément l'affichage des variables :

dargs($always = TRUE);

affiche les arguments passés à la fonction courante
$always : si FALSE, ne l'affichera qu'une seule fois

 

db_queryd($query);

affiche la requête SQL complète et la possible erreur générée dans le navigateur (très utile pour savoir ce que l'on passe comme argument à une requête)
 

dfb($arg, ...);

affiche les arguments dans la console Firebug si FirePHP est installé
 

Toutes ces petites fonctions ne sont pas forcément documentées (encore moins en français), donc si vous en découvrez d'autres n'hésitez pas à partager wink

S'abonner à RSS - fonctions