web-dev-qa-db-fra.com

Belle façon d'imprimer des tableaux

Donc vous savez comment Drupal a des fonctions dans des modules comme Devel qui vous permettent de générer des tableaux au format Nice comme dsm($array) ou krumo($array)... WordPress dispose-t-il d’une manière équivalente ou agréable d’afficher print_r($array)?

7
emc

J'ai créé un plugin Kint qui fonctionne vraiment bien. J'intègre également le plugin Debug Bar. Vous pouvez le télécharger sur: http://wordpress.org/extend/plugins/kint-debugger/

Il existe quelques fonctions pour vous aider avec les globales spécifiques à WordPress:

  • dump_wp_query()
  • dump_wp()
  • dump_post()

Pour imprimer des matrices dans un format pliable et stylé, procédez comme suit.

$foo_bar = array(
    'foo' => 'bar',
    'bar' => 'oof',
    'rab' => 'foo'
);
d($foo_bar); //Styled
s($foo_bar); //Un-styled
12
Brian Fegter

Vous pouvez installer et utiliser Krumo avec WordPress (ou n’importe quelle application PHP vraiment). Il y a le plugin Hikari Krumo qui simplifie l'utilisation, mais vérifiez les commentaires, il y a une erreur que vous devrez corriger manuellement pour qu'il fonctionne avec le dernier WP. Il existe également le plugin WordPress Debug Bar qui pourrait vous être utile.

EDIT- Une autre option que j'ai découverte récemment, Kint ; capture d'écran:

Kint screenshot

7
Milo

Pour ce genre de choses, j'ai écrit REF (nécessite PHP 5.3). Parmi de nombreuses autres fonctionnalités, il affiche le contenu des commentaires DocBlock et lie les classes, méthodes et fonctions internes à PHP (les liens pointent vers le manuel PHP.). Il gère également les fonctions WordPress (les liens pointent vers queryposts.com ).

Voici le résultat de $GLOBALS à l'étape setup de WordPress en mode HTML (r($GLOBALS); dans functions.php):

enter image description here

5
onetrickpony

Aussi, vous pouvez utiliser le plugin Objets de débogage ; liste également les scripts et les styles. Le plugin a beaucoup plus d'options pour dev et le débogage, mais aussi cette fonctionnalité.

Alternative est cette source, vous trouvez des informations et le post sur ce sujet ici :

add_action('wp_footer', 'fb_urls_of_enqueued_stuff');
add_action('admin_footer', 'fb_urls_of_enqueued_stuff');
function fb_urls_of_enqueued_stuff( $handles = array() ) {
    global $wp_scripts, $wp_styles;
    // scripts
    foreach ( $wp_scripts -> registered as $registered )
        $script_urls[ $registered -> handle ] = $registered -> src;
    // styles
    foreach ( $wp_styles -> registered as $registered )
        $style_urls[ $registered -> handle ] = $registered -> src;
    // if empty
    if ( empty( $handles ) ) {
        $handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
        array_values( $handles );
    }
    // output of values
    $output = '';
    foreach ( $handles as $handle ) {
        if ( ! empty( $script_urls[ $handle ] ) )
            $output .= $script_urls[ $handle ] . '<br />';
        if ( ! empty( $style_urls[ $handle ] ) )
            $output .= $style_urls[ $handle ] . '<br />';
    }
    echo $output;
}
2
bueltge

Pourquoi ne pas simplement utiliser xdebug?

Cela me semble très chouette, par défaut.

enter image description here

Il y a aussi Kint, http://code.google.com/p/kint/ mais j'ai trouvé les menus déroulants plus déroutants, puis la sortie complète de xdebug.

2
Wyck

Si vous emballez simplement la print_r() dans les balises <pre>, le résultat sera magnifique. Si vous recherchez des diagnostics un peu meilleurs que cela, la boîte noire et la barre de débogage publiée par @Milo sont mes connaissances.

2
mor7ifer