Heim  >  Artikel  >  Backend-Entwicklung  >  mysql - Erzählen Sie mir bitte etwas über die in der PHP-Methode übergebenen Parameter und die anwendbaren Szenarien der Abhängigkeitsinjektion.

mysql - Erzählen Sie mir bitte etwas über die in der PHP-Methode übergebenen Parameter und die anwendbaren Szenarien der Abhängigkeitsinjektion.

WBOY
WBOYOriginal
2016-10-22 00:14:291003Durchsuche

<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>

Ich habe kürzlich die Abhängigkeitsinjektion gelernt und verstehe nicht ganz, was der im obigen Code übergebene Wert bedeutet.
(OrderFormData $example)Dies ist ein Klassenwert ? Und das Gibt es irgendwelche Anforderungen für diese Schreibmethode? Meine Gedanken an alle großen Götter

Antwortinhalt:

<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>

Ich habe kürzlich die Abhängigkeitsinjektion gelernt und verstehe nicht ganz, was der im obigen Code übergebene Wert bedeutet.
(OrderFormData $example)Dies ist ein Klassenwert ? Und das Gibt es irgendwelche Anforderungen für diese Schreibmethode? Meine Gedanken an alle großen Götter

Diese Schreibweise wird als Typhinweis bezeichnet. Mein erster Parameter muss eine Instanz von setForm sein. Nach dem Schreiben wird der Typhinweis nicht übergeben Die Klasse scannt die Methodenparameter und hilft Ihnen automatisch weiterOrderFormDatanew OrderFormData

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn