$new = new controllers\order\neworder();$new->setform(new orderformdata());$new->sayform();
private $form;public function setform(\orderformdata $example){ $this->form = $example;}public function sayform(){ echo $this->form->say();}
小弟最近在学习依赖注入,不太明白上面代码中 传入的值具体代表什么意思,
(orderformdata $example)这个是个类的值 ,它代表什么呀,可否随便写呢,还有这种写法有什么要求吗?感想诸位大神
回复内容: $new = new controllers\order\neworder();$new->setform(new orderformdata());$new->sayform();
private $form;public function setform(\orderformdata $example){ $this->form = $example;}public function sayform(){ echo $this->form->say();}
小弟最近在学习依赖注入,不太明白上面代码中 传入的值具体代表什么意思,
(orderformdata $example)这个是个类的值 ,它代表什么呀,可否随便写呢,还有这种写法有什么要求吗?感想诸位大神
这种写法叫type hint, 就是setform方法声明, 我的第一个参数必须是orderformdata的实例. 不然不给传. 写了type hint之后, 反射类扫描方法参数的时候, 就会自动帮你new orderformdata了