<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)
이것은 클래스 값을 의미하는 것으로 간단하게 작성할 수 있습니까? ? 그리고 이 작성 방법에 대한 요구 사항이 있나요? 모든 위대한 신들에 대한 나의 생각
이러한 작성 방식을 setForm
메소드 선언이라고 합니다. 첫 번째 매개변수는 OrderFormData
의 인스턴스여야 합니다. 그렇지 않으면 유형 힌트를 작성한 후 리플렉션이 전달되지 않습니다. 클래스가 메소드 매개변수를 스캔하면 자동으로 도움이 됩니다new OrderFormData