本篇文章给大家介绍一下php使用callback/callable类型的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP Callback/Callable 类型使用
测试代码
测试示例
// 闭包 $ret = do_something(function ($a, $b){ return $a - $b; }, 5, 6); printf("闭包测试示例: %s\n", $ret); // 函数 $ret = do_something('sum', 5, 6); printf("函数测试示例: %s\n", $ret); // 静态方法 $ret = do_something([Callback::class, 'sum'], 5, 6); printf("静态方法示例: %s\n", $ret); $ret = do_something('\Callback::sum', 5, 6); printf("静态方法示例: %s\n", $ret); $ret = do_something([Callback::class, 'self::parentSum'], 5, 6, 7); printf("静态方法示例: %s\n", $ret); $ret = do_something([Callback::class, 'parentSum'], 5, 6, 7); printf("静态方法示例: %s\n", $ret); $ret = do_something([Callback::class, 'parent::parentSum'], 5, 6, 7); printf("静态方法示例: %s\n", $ret); // 方法 $callback = new Callback; $ret = do_something([$callback, 'multiply'], 5, 6); printf("普通方法示例: %s\n", $ret); // invoke $invoke = new Invoke; $ret = do_something($invoke, 5, 6); printf("对象 invoke 示例: %s\n", $ret);测试结果
闭包测试示例: -1 函数测试示例: 11 静态方法示例: 11 静态方法示例: 11 静态方法示例: 18 静态方法示例: 18 静态方法示例: 18 普通方法示例: 30 对象 invoke 示例: 0.83333333333333
推荐学习:php视频教程
Avactis是一个强大的PHP在线购物系统拥有多个版本包括开源版本。它具备一个在线购物系统所需要的所有功能从产品到会员管理,订单和营销。可以无限分类和为产品指定任务数量的图片(支持自动生成缩略图)。使用自定义字段功能,让你可以更好地定义一个产品。该系统提供以非常灵活的方式来创建任意类型的促销活动如设置折扣代码,基于价格的折扣或基于数量的折扣等。










