Ich habe eine Frage zum Wert, wenn ich eine Methode aus einer Zeichenfolge ausführen soll. Während ich in der Lage bin, einen einzelnen Methodenaufruf von einem String zu behandeln, bin ich neugierig, wie man eine Kette von Methoden aus einem String aufruft.Ausführen einer Methodenkette aus einem Zeichenfolgenwert
Zum Beispiel. $ Projekt ist ein Objekt.
$method1 = "name";
$project->$method1; // It shows the valid results
$method2 = "get()->first()->name";
$project->get()->first()-name; // It shows the valid results
$project->$method2; // get a null result
Bitte helfen, einen Weg zu finden, die $ method2 Arbeit zu machen. Und was passiert, wenn ich in diesen Methoden Params habe?
Der Grund hier ist, ich habe eine Reihe von benutzerdefinierten Methoden gemacht. Es kann Zeile für Zeile ausgeführt werden, aber ich denke an eine Möglichkeit, sie in eine Schleife zu verwandeln, also ist es effizienter. Fügen Sie die Methoden in eine Datei ein und holen Sie sich die Werte, indem Sie sie durchlaufen.
Array = [ "getvalue1()", "getvalue2()", .... "getValuen() -> anotherMethod() -> Wert"]
Danke,
Nicht wirklich eine gute Idee; Aber wenn Sie so etwas tun müssen, dann könnten Sie die Zeichenfolge in ein Array von einzelnen Methodenaufrufen aufteilen und über das Array iterieren. –
Mögliches Duplikat von [Wie Kettenaufruffunktionen mithilfe einer Zeichenfolge, die diese Kette enthält in PHP] (http://stackoverflow.com/questions/30319950/how-to-chain-call-functions-by-using-a-string-containing-that-chain-in-php) –