Question

Je souhaite utiliser l'analyseur DOM HTML HTML simple pour saisir l'image, le titre et la date. et la description de chaque article sur une page remplie d’articles. En regardant l'API, je remarque qu'il a un set_callback qui définit une fonction de rappel. Cependant, je ne suis pas sûr de ce que cela fait ou comment je l’utiliserais? Dans l’un des exemples, il est utilisé pour appeler une fonction qui supprime certaines choses, je me demande si vous devez l’utiliser pour appeler toutes les fonctions?

Je me demande pourquoi je l'utilise, et que fait-il, car je n'ai jamais rencontré de fonction de rappel auparavant!

Était-ce utile?

La solution

Voici un exemple de fonction de rappel de base:

<?php

function thisFuncTakesACallback($callbackFunc)
{
    echo "I'm going to call $callbackFunc!<br />";
    $callbackFunc();
}

function thisFuncGetsCalled()
{
    echo "I'm a callback function!<br />";
}

thisFuncTakesACallback( 'thisFuncGetsCalled' );
?>

Vous pouvez appeler une fonction dont le nom est stocké dans une variable telle que: $ variable () .

Ainsi, dans l'exemple ci-dessus, nous passons le nom de la fonction thisFuncGetsCalled à thisFuncTakesACallback () , qui appelle ensuite la fonction transmise.

Autres conseils

Une fonction de rappel utilisera cette fonction pour toutes les données renvoyées par une méthode particulière.

Je ne suis pas sûr du fonctionnement de cette bibliothèque, mais cela pourrait être aussi simple que:

$html = file_get_html('http://example.com');
$html->set_callback('make_bold');
$html->find('#title'); // returns an array

function make_bold($results) {
// make the first result bold
  return '<b>'.$results[0].'</b>';
}

C'est-à-dire que la fonction " make_bold () " sera exécuté sur toutes les données trouvées. Encore une fois, je ne suis pas sûr du fonctionnement de cette bibliothèque (c.-à-d. Sur quelles méthodes la fonction de rappel sera appelée)

Un rappel est une fonction, une méthode d'instance d'objet ou une méthode statique dans une classe. De toute façon, c'est un peu un pointeur de fonction. Dans certaines langues, les fonctions sont d'un type spécifique. Donc, vous pouvez affecter une fonction à une variable. Ce sont généralement appelés langages orientés fonction. Javascript est un bon exemple.

En PHP, un rappel peut être n'importe lequel des éléments suivants:

$fn = 'foo'; // => foo()
$fn = array($obj, 'foo'); // => $obj->foo()
$fn = array('Foo', 'bar'); // => Foo::bar()

Voir l'entrée du manuel pour is_callable .

Vous pouvez appeler un rappel avec la fonction plutôt détaillée < code> call_user_func .

Définition

Un callbacks / callable est une fonction simple (fonction anonyme ou nommée) que nous transmettons à une autre fonction en tant que paramètre de fonction qui, dans le résultat, renvoie la fonction transmise.

Exemple

function iWillReturnCallback($callBackHere){
    return $callBackHere;
}

function iAmCallBack(){
    echo "I am returned with the help of another function";
}

iWillReturnCallback(iAmCallBack());

//--Output -> I am returned with the help of another function

Ne vous y trompez pas

Certaines fonctions par défaut de php acceptent le nom de la fonction de rappel en tant que chaîne dans leur paramètre, afin d'éviter tout conflit entre le nom de la constante et celui de la fonction. Alors ne soyez pas confus dans ce genre de choses.

Avec PHP 5.3 , vous pouvez maintenant procéder comme suit:

function doIt($callback) { $callback(); }

doIt(function() {
    // this will be done
});

Enfin, une bonne façon de le faire. Un excellent ajout à PHP , car les rappels sont géniaux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top