Dans les versions antérieures de PHP, la fonction call_user_method () a été utilisée pour appeler une méthode sur un objet spécifié. Cependant, cette fonction a été obsolète depuis PHP 4.1.0 et a finalement été supprimée dans PHP 7.0, il n'est donc plus recommandé dans le développement de PHP moderne.
La fonction principale de cette fonction est de spécifier le nom de la méthode sous la forme d'une chaîne et de le lier à un objet spécifique à exécuter, ce qui est plus courant dans certains scénarios de programmation dynamique.
call_user_method(method, obj, params)
L'une des raisons pour lesquelles cette fonction est obsolète est que PHP introduit des fonctions plus générales et flexibles telles que call_user_func () et call_user_func_array () , qui prennent en charge non seulement les appels de méthode d'objet, mais également les fonctions de rappel dans une plage plus large de scénarios d'utilisation. Dans le même temps, call_user_method () a également certaines limites et ne prend pas en charge les espaces de noms modernes et les fonctions anonymes.
Dans le développement de PHP moderne, il est recommandé d'utiliser call_user_func () ou call_user_func_array () au lieu de call_user_method () . L'utilisation est la suivante:
call_user_func(array($obj, $method), $params);
Cette méthode d'écriture est plus polyvalente et convient également à PHP 7 et plus.
Bien que call_user_method () ait été largement utilisé dans les anciennes versions de PHP, avec le développement et l'amélioration de la langue, cette fonction n'est plus recommandée. Les développeurs doivent remplacer la fonction dans l'ancien code par une méthode d'appel plus moderne et sécurisée dès que possible pour assurer la compatibilité et la maintenabilité du projet.