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