En PHP, la devolución de llamada es un objeto/referencia de función con tipo callable . Una variable de devolución de llamada/invocable puede actuar como una función, un método de objeto y un método de clase estático. Hay varias formas de implementar una devolución de llamada. Algunos de ellos se discuten a continuación:
Devolución de llamada estándar: en PHP, las funciones se pueden llamar usando la función call_user_func() donde argumentos es el nombre de la string de la función a llamar.
Ejemplo:
<?php // PHP program to illustrate working // of a standard callback // Function to print a string function someFunction() { echo "Geeksforgeeks \n"; } // Standard callback call_user_func('someFunction'); ?>
Geeksforgeeks
Devolución de llamada de método de clase estática: los métodos de clase estática se pueden llamar usando call_user_func() donde el argumento es una array que contiene el nombre de string de la clase y el método dentro de ella que se va a llamar.
Ejemplo:
<?php // PHP program to illustrate working // of a Static class method callback // Sample class class GFG { // Function used to print a string static function someFunction() { echo "Parent Geeksforgeeks \n"; } } class Article extends GFG { // Function to print a string static function someFunction() { echo "Geeksforgeeks Article \n"; } } // Static class method callback call_user_func(array('Article', 'someFunction')); call_user_func('Article::someFunction'); // Relative Static class method callback call_user_func(array('Article', 'parent::someFunction')); ?>
Geeksforgeeks Article Geeksforgeeks Article Parent Geeksforgeeks
Devolución de llamada del método de objeto: los métodos de objeto se pueden llamar usando call_user_func() donde el argumento es una array que contiene la variable de objeto y el nombre de string del método que se va a llamar. El método de objeto también se puede llamar si se pueden invocar usando la definición de función __invoke(). En este caso, el argumento de la función call_user_func() es la propia variable del objeto.
Ejemplo:
<?php // PHP program to illustrate working // of a object method callback // Sample class class GFG { // Function to print a string static function someFunction() { echo "Geeksforgeeks \n"; } // Function used to print a string public function __invoke() { echo "invoke Geeksforgeeks \n"; } } // Class object $obj = new GFG(); // Object method call call_user_func(array($obj, 'someFunction')); // Callable __invoke method object call_user_func($obj); ?>
Geeksforgeeks invoke Geeksforgeeks
Devolución de llamada de cierre: las funciones de cierre se pueden hacer invocables haciendo llamadas estándar o asignando la función de cierre a una array de argumentos válidos dados a la función de cierre usando la función array_map() donde los argumentos son la función de cierre y una array de sus argumentos válidos.
Ejemplo:
<?php // PHP program to illustrate working // of a closure callback // Closure to print a string $print_function = function($string) { echo $string."\n"; }; // Array of strings $string_array = array("Geeksforgeeks", "GFG", "Article"); // Callable closure array_map($print_function, $string_array); ?>
Geeksforgeeks GFG Article
Publicación traducida automáticamente
Artículo escrito por Harshit Saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA