web-dev-qa-db-fra.com

Comment déboguer la fonction de rappel de register_setting

J'utilise le code suivant:

register_setting(
        'myplugin_options', //setting group name
        'myplugin_options', //option name that will be stored in the database
        'myplugin_validate_options'//optional callback function
);

function myplugin_validate_options($input) {
    //how can i print $input to the screen or view the output of this function for debugging purpsoses?

}

J'ai juste besoin de savoir comment nous pouvons déboguer nos fonctions de rappel de validation. D'après ce que je vois, ils ne peuvent pas être affichés à l'écran, ce qui rend difficile l'écriture d'un code correct à l'intérieur d'eux.

Merci.

1
mike

Le sale et unique moyen que j'ai fondé:

function myplugin_validate_options($input) {
    var_dump($input);
    exit;

}
5
pauloc

Quand echoing (echo ($ var)) dans le code 'library' (c'est-à-dire avant la construction de la page, comme dans le cas présent de register_setting), ces instructions seront généralement imprimées juste après la balise d'ouverture dans le code HTML, mais ne s'afficheront pas Là-haut. J'utilise la fonction intégrée error_log () de PHP pour imprimer ce que je veux directement dans le journal des erreurs de PHP. Ensuite, je peux simplement ouvrir ce fichier (habituellement php_error.log quelque part) et voir la sortie. Travailler pour vous?

1
iaui

aucune des solutions ci-dessus n'a fonctionné pour moi. J'ai même essayé les instructions de débogage dans un fichier.

Un travail autour duquel fait le travail est

ajoutez un appel à la fonction non définie après toutes vos instructions de débogage, puis la sortie est imprimée à l'écran.

0
Satish Gandham

Configurez xdebug, le seul moyen de réaliser un véritable débogage! Quelle est votre configuration de développement? Exécutez-vous votre code depuis localhost ou utilisez-vous vagrant?

0
dhuyvetter