Appel dynamique de fonctions avec des noms de variables
En PHP, il est possible d'invoquer une fonction par son nom stocké dans une variable. Cette technique est utile dans les scénarios où la fonction à exécuter est inconnue au moment de la compilation ou doit être déterminée dynamiquement en fonction de l'entrée ou de la configuration.
Deux options pour l'invocation de fonction dynamique
Pour exécuter une fonction basée sur un nom de variable, il existe deux courants approches :
<?php function foo() { // Function code } function bar() { // Function code } $functionName = "foo"; $functionName(); // Calls the foo function // Providing parameters in an array $parameters = ['Hello', 'World']; call_user_func_array('printf', $parameters); // Outputs "HelloWorld" ?>
Utilisation avancée avec déballage de tableau et création d'objets dynamiques
Si vous en avez besoin passez un tableau d'arguments à une fonction, vous pouvez utiliser l'opérateur de décompression de tableau :
$function_name = 'trim'; $parameters = ['aaabbb', 'b']; echo $function_name(...$parameters); // Outputs "aaa"
De plus, vous pouvez créer un objet et appeler sa méthode dynamiquement :
$class = 'DateTime'; $method = 'format'; echo (new $class)->$method('d-m-Y'); // Outputs the current date in "d-m-Y" format
Alternativement, vous pouvez appeler une méthode statique d'une classe :
$class = 'DateTime'; $static = 'createFromFormat'; $date = $class::$static('d-m-Y', '17-08-2023');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!