Implementing callback in PHP

21 Dec, 2018
In PHP, callback is a function object/reference with type callable. A callback/callable variable can act as a function, object method and a static class method. There are various ways to implement a callback. Some of them are discussed below:
Standard callback: In PHP, functions can be called using call_user_func() function where arguments is the string name of the function to be called.
Example:
<?php  // PHP program to illustrate working// of a standard callback  // Function to print a stringfunction someFunction() {    echo "Geeksforgeeks \n";}  // Standard callbackcall_user_func('someFunction');?>
Geeksforgeeks

Static class method callback: Static class methods can be called by using call_user_func() where argument is an array containing the string name of class and the method inside it to be called.
Example:
<?php  // PHP program to illustrate working// of a Static class method callback  // Sample classclass 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 callbackcall_user_func(array('Article', 'someFunction'));  call_user_func('Article::someFunction');  // Relative Static class method callbackcall_user_func(array('Article', 'parent::someFunction'));?>
Geeksforgeeks Article
Geeksforgeeks Article
Parent Geeksforgeeks

Object method callback: Object methods can be called by using call_user_func() where argument is an array containing the object variable and the string name of method to be called. Object method can also be called if they are made invokable using __invoke() function definition. In this case, argument to the call_user_func() function is the object variable itself.
Example:
<?php  // PHP program to illustrate working// of a object method callback  // Sample classclass 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 callcall_user_func(array($obj, 'someFunction'));  // Callable __invoke method object call_user_func($obj);  ?> 
Geeksforgeeks
invoke Geeksforgeeks

Closure callback: Closure functions can be made callable by making standard calls or mapping closure function to array of valid arguments given to the closure function using array_map() function where arguments are the closure function and an array of its valid arguments.
Example:
<?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 closurearray_map($print_function, $string_array);  ?>
Geeksforgeeks
GFG
Article

PHP-basics
PHP-function
Picked
PHP
PHP Programs
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to execute PHP code using command line ?
How to Insert Form Data into Database using PHP ?
PHP in_array() Function
How to delete an array element based on key in PHP?
How to convert array to string in PHP ?
How to execute PHP code using command line ?
How to Insert Form Data into Database using PHP ?
How to delete an array element based on key in PHP?
How to convert array to string in PHP ?
How to pop an alert message box using PHP ?