Ich habe eine Klasse, die für das Anrufen einer Zahlungslösung von Drittanbietern reaktionsfähig ist.Wie kann ich Parameter über den Service Container an die Konstruktoren übergeben?
Als Teil davon gibt es verschiedene Händler-ID/Shared-Secret-Parameter. Thesen hängen davon ab, wer in der Anwendung angemeldet ist.
Die Klasse, mit der ich arbeite, übernimmt diese Information im Konstruktor, wenn die Klasse erstellt wird. Gibt es eine Möglichkeit, dies im Service-Provider passieren, vielleicht so:
$this->app->bind('App\BokaKanot\Interfaces\BillingInterface',function ($merchantId)
{
return new KlarnaBilling($merchantId);
});
Wenn ja, ist es immer noch möglich, dies durch einen Konstruktor zu tun oder muss ich manaully App:make
verwenden. Wenn ich App::make
verwenden muss, wie kann ich das nicht in meiner Aufrufklasse verstecken?
Oder sollte ich die Klasse umgestalten, die ich benutze, um dies nicht im Konstruktor zu benötigen, und vielleicht eine Init-Methode?
Dank für die Arbeit! Ich kann die App setzen: make in meinem Controller, und dann nach einer Instanz davon in einer Methode unten fragen, aber gibt es eine Möglichkeit, die ich als Parameter im Konstruktor bekommen und instanzieren kann? Wenn ja wo soll ich die App machen: machen? In der router.php? – iKode
@iKode: Entschuldigung, aber ich verstehe deine Frage nicht. Könnten Sie ein konkretes Beispiel dafür geben, was Sie erreichen möchten, indem Sie Ihre Frage bearbeiten? – Moppo