当一个函数有一个类作为参数时,你可以使用这个类而不用初始化它。有人能解释一下这个类是如何作为函数参数启动的吗?请参阅下面的代码以进行说明。 /** * * @param PseudoClass $class * @return void */ public function pseudoFunction(PseudoClass $class) { // access PseudoClass instance from function argument $class->exampleFunction(); // instead of manually creating a new instance of the PseudoClass new PseudoClass(); $class->exampleFunction(); }
3 回答
慕后森
TA贡献1802条经验 获得超5个赞
它没有实例化。这只是一个被类型提示为 PseudoClass 对象的参数。必须创建一个 PseudoClass 对象并将其传递给 pseudoFunction,此代码才能在运行时运行。
catspeake
TA贡献1111条经验 获得超0个赞
它被称为 DI(依赖注入)。在面向对象编程中,我们使用这种模式,但取决于您遵循的设计。
依赖注入是一种技术,其中一个对象提供另一个对象的依赖关系。
用例示例:
<?php
class Skills {
public function Web(){
return 'Web Developer';
}
public function Api(){
return 'API Developer';
}
}
class Programmer {
public function skill(Skills $skills){
echo $skills->Api();
}
}
// Instantiate Skills class to be used for DI.
$skills = new Skills();
$p = new Programmer();
// DI occurs here.
$p->skill($skills);
?>
- 3 回答
- 0 关注
- 106 浏览
添加回答
举报
0/150
提交
取消