PHP | función call_user_func()

call_user_func() es una función incorporada en PHP que se usa para llamar a la devolución de llamada proporcionada por el primer parámetro y pasa los parámetros restantes como argumento. Se utiliza para llamar a las funciones definidas por el usuario.

Sintaxis:

mixed call_user_func ( $function_name[, mixed $value1[, mixed $... ]])

Aquí, mixto indica que un parámetro puede aceptar varios tipos.
Parámetro: La función call_user_func() acepta dos tipos de parámetros, como se mencionó anteriormente y se describe a continuación:

  • $function_name: Es el nombre de la función llamada en la lista de funciones definidas. Es un parámetro de tipo string.
  • $value: Es un valor mixto. Uno o más parámetros que se pasarán a la función.

Valor devuelto: esta función devuelve el valor devuelto por la función de devolución de llamada.

Los siguientes programas ilustran la función call_user_func() en PHP:

Programa 1: Llamar a la función

<?php
function GFG($value)
{
    echo "This is $value site.\n";
}
  
call_user_func('GFG', "GeeksforGeeks");
call_user_func('GFG', "Content");
  
?>
Producción:

This is GeeksforGeeks site.
This is Content site.

Programa 2: call_user_func() usando el nombre del espacio de nombres

<?php
  
namespace Geeks;
  
class GFG {
    static public function demo() {
        print "GeeksForGeeks\n";
    }
}
  
call_user_func(__NAMESPACE__ .'\GFG::demo'); 
  
// Another way of declaration
call_user_func(array(__NAMESPACE__ .'\GFG', 'demo')); 
  
?>
Producción:

GeeksForGeeks
GeeksForGeeks

Programa 3: Usar un método de clase con call_user_func()

<?php
  
class GFG {
    static function show()
    {
        echo "Geeks\n";
    }
}
  
$classname = "GFG";
call_user_func($classname .'::show');
  
// Another way to use object
$obj = new GFG();
call_user_func(array($obj, 'show'));
  
?>
Producción:

Geeks
Geeks

Programa 4: Uso de la función lambda con call_user_func()

<?php
call_user_func(function($arg) { print "$arg\n"; }, 'GeeksforGeeks');
?>
Producción:

GeeksforGeeks

Referencias: http://php.net/manual/en/function.call-user-func.php

Publicación traducida automáticamente

Artículo escrito por Mithun Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *