牛牛在线工具

Closure::fromCallable()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Closure::fromCallable()

将可调用对象(callable)转换为闭包(closure)

函数名称:Closure::fromCallable() 适用版本:PHP 7.1.0及以上版本 用法:Closure::fromCallable() 函数用于将可调用对象(callable)转换为闭包(closure)。它接受一个可调用对象作为参数,并返回一个闭包。 示例: // 示例1:将一个普通函数转换为闭包 function greet($name) { echo "Hello, " . $name . "!"; } $closure = Closure::fromCallable('greet'); $closure('Alice'); // 输出:Hello, Alice! // 示例2:将一个对象方法转换为闭包 class Person { private $name; public function __construct($name) { $this->name = $name; } public function greet() { echo "Hello, " . $this->name . "!"; } } $person = new Person('Bob'); $closure = Closure::fromCallable([$person, 'greet']); $closure(); // 输出:Hello, Bob! // 示例3:将一个匿名函数转换为闭包 $callable = function($message) { echo $message; }; $closure = Closure::fromCallable($callable); $closure("Hello"); // 输出:Hello 注意事项: Closure::fromCallable() 函数仅接受可调用对象(包括普通函数、类方法、匿名函数等),不接受字符串形式的函数名或函数数组。 转换后的闭包与原始可调用对象具有相同的行为和参数。