Wil*_*ken 2 php signature php-7 php-7.2
这是代码,它是一个简单的容器.
class Application
{
private $recipes;
private $instances;
public function configureCache(XXXXXXXX $closure) {
$recipes['cache'] = $closure;
}
public function getCache(): Cache {
if (empty($instances['cache'])) {
$instances['cache'] = $recipes['cache']();
}
return $instances['cache'];
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在PHP 7.1+上运行.我可以为XXXXXXXX填写哪些内容以使其最具体?类型是一个函数,更具体地说是一个返回Cache的函数.
PHP支持可调用实体的几种语法:包含函数名称的字符串,对象和方法的数组,静态方法的类和方法数组,第一类闭包和生成的闭包.
所有这些的类型提示是callable.
如果你只想要匿名函数,即第一类闭包,请使用Closure.但这会限制你可以接受的可赎回种类.
截至目前,PHP不支持关于正式可调参数的参数提示或返回类型提示:例如,您的代码不能说只接受带有一个字符串参数并返回布尔值的闭包.
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |