首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP中的include和require
文件操作基础
fopen( )打开文件或URL
fread()函数
fclose()函数
fwrite( )函数
PHP文件上传
PHP中使用Cookie
PHP中使用Sessions
Filter和Filter常量
PHP中实现回调函数
PHP异常处理
当前位置:
首页>>
技术小册>>
PHP合辑2-高级进阶
小册名称:PHP合辑2-高级进阶
在PHP中,回调是一个具有类型callable的函数对象/引用。回调/callable变量可以充当函数、对象方法和静态类方法。有几种实现回调的方法,其中一些在下面讨论: 标准回调:在PHP中,可以使用call_user_func()函数调用函数,其中参数是要调用的函数的字符串名称。 示例: ``` <?php // PHP program to illustrate working // of a standard callback // Function to print a string function someFunction() { echo "Goodsforgoods \n"; } // Standard callback call_user_func('someFunction'); ?> ``` 静态类方法回调:可以通过使用call_user_func()来调用静态类方法,其中参数是一个包含要调用的类和方法的字符串名称的数组。 示例: ``` <?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 Goodsforgoods \n"; } } class Article extends GFG { // Function to print a string static function someFunction() { echo "Goodsforgoods 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')); ?> ``` output: ``` Goodsforgoods Article Goodsforgoods Article Parent Goodsforgoods ``` 对象方法回调:可以使用call_user_func()调用对象方法,其中参数是一个包含要调用的对象变量和方法名称的数组。如果对象方法使用__invoke()函数定义,则也可以调用它们。在这种情况下,call_user_func()函数的参数是对象变量本身。 示例: ``` <?php // PHP program to illustrate working // of a object method callback // Sample class class GFG { // Function to print a string static function someFunction() { echo "Goodsforgoods \n"; } // Function used to print a string public function __invoke() { echo "invoke Goodsforgoods \n"; } } // Class object $obj = new GFG(); // Object method call call_user_func(array($obj, 'someFunction')); // Callable __invoke method object call_user_func($obj); ?> ``` output ``` Goodsforgoods invoke Goodsforgoods ``` 闭包回调:可以通过使用标准调用或映射闭包函数到给定闭包函数的合法参数数组来使闭包函数可调用,其中参数是闭包函数和其合法参数的数组。可以使用array_map()函数将闭包函数映射到给定闭包函数的合法参数数组。 ``` <?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("Goodsforgoods", "GFG", "Article"); // Callable closure array_map($print_function, $string_array); ?> ``` output: ``` Goodsforgoods GFG Article ```
上一篇:
Filter和Filter常量
下一篇:
PHP异常处理
该分类下的相关小册推荐:
PHP8入门与项目实战(1)
Laravel(10.x)从入门到精通(十三)
PHP底层原理及源码分析
Magento2后端开发高级实战
Magento零基础到架构师(目录管理)
PHP合辑3-数组函数
全面构建Magento2电商系统
Laravel(10.x)从入门到精通(十六)
Swoole高性能框架-SwooleWorker
PHP8入门与项目实战(7)
Laravel(10.x)从入门到精通(十四)
PHP安全之道