将接口作为参数传递给某个函数
Pass interface as the arguent to some function
我想知道。我在 Symfony2 TranslationLoader class:
中找到了这个
public function addLoader($format, LoaderInterface $loader)
{
$this->loaders[$format] = $loader;
}
我发现LoaderInterface
只有一种方法。但是我们怎么知道这个接口的实现呢?这是接口注入?
接口注入is a thing, but really what you see in the snippet is Type Hinting, a form of strong typing.
它的作用是在运行时强制传递给 $loader
的值必须与类型提示中指定的接口(或 class)的定义相匹配。基本上,问题的答案:
Does $loader
implement all the methods of LoaderInterface
?
如果没有,您将得到 catchable fatal error。
我想知道。我在 Symfony2 TranslationLoader class:
中找到了这个public function addLoader($format, LoaderInterface $loader)
{
$this->loaders[$format] = $loader;
}
我发现LoaderInterface
只有一种方法。但是我们怎么知道这个接口的实现呢?这是接口注入?
接口注入is a thing, but really what you see in the snippet is Type Hinting, a form of strong typing.
它的作用是在运行时强制传递给 $loader
的值必须与类型提示中指定的接口(或 class)的定义相匹配。基本上,问题的答案:
Does
$loader
implement all the methods ofLoaderInterface
?
如果没有,您将得到 catchable fatal error。