web-dev-qa-db-fra.com

Comment utiliser d'étanchéité WP-FirePHP?

http://wordpress.org/extend/plugins/wp-firephp/

Je suis simplement censé appeler fb('Error message','Lable') mais cela ne fonctionne pas tout le temps. Je n'arrive pas à comprendre quand et où les fichiers pertinents sont inclus et les classes définies afin de faire l'appel à ladite méthode/fonction.

Par exemple, cela ne fonctionne pas même lorsque j'appelle fb() à partir de wp-content\plugins\wp-firephp\FirePHPCore\fb.php lui-même et que j'ouvre http://localhost/wordpress (peut-être parce que le fichier n'est jamais inclus) mais il fonctionne sur http://localhost/wordpress/wp-admin. Est-ce que cela signifie que le plugin wp-firephp ne fonctionne que pour /wp-admin et les pages associées? Parce que je voulais utiliser ses fonctionnalités sur des pages non-administratives telles que /footer.php et autres. Est-ce que je me trompe?

2
laggingreflex

J'ai renoncé à utiliser le plugin et utiliser FirePHP directement en tant que mu-plugin:

FirePHP mu-plugin

Et le fichier firebug.php comprend:

<?php
/*
    Plugin Name: FirePHP
    Version: 0.1
*/

require_once( 'FirePHPCore/FirePHP.class.php' );
ob_start();
$firephp = FirePHP::getInstance( true );

function logit( $var, $title='From FirePHP:' )
{
    global $firephp;
    $firephp->log( $var, $title );
}

Puis je l’appelle de n’importe où (thème, plugin, noyau) en utilisant la fonction:
logit( $var_to_debug, 'The var contains:' );

6
brasofilo

J'ai eu de la chance et des performances pourries avec les différentes versions de FirePHP, à l'exception de celle de 'Yet Another Logger', mais je dois avouer que je n'ai pas examiné celle-ci. Finalement, j’ai simplement installé PEAR sur mes boîtes de développement et installé FirePHP.

/**
 * FirePHP simple examples
 */

// For FirePHP Object Oriented API
require_once('FirePHPCore/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);

ou

// Procedureal API
require_once('FirePHPCore/fb.php');

Le code ci-dessus provient du fichier wp-config.php d'un de mes sites de développement. Il montre les deux méthodes différentes d'invocation de FirePHP. N'oubliez pas d'utiliser l'un ou l'autre, pas les deux.

Vous appelez FirePHP par différentes méthodes en fonction de la manière dont vous l'appelez.

Pour l'API orientée objet:

global $firephp;
$firephp->log( $var, "Label" );

Pour l'API procédurale:

FB::log( $var, "Label" );

Donc, après une réponse légèrement hors sujet :

Vérifiez la documentation du plug-in et assurez-vous que vous n'êtes pas censé utiliser l'appel de style API procédural. Un appel de procédure ne fonctionnera pas avec l'API orientée objet et inversement.

Une autre option serait d’essayer le plug-in "Yet Another Logger".

1
Steve