Ich habe Zweifel, dass vielleicht jemand hier antworten kann. Mein Code funktioniert gut, aber ich bin sicher, ich mache es irgendwie falsch. Es muss einen einfacheren und saubereren Weg geben, um es zu erreichen.So rufen Sie eine Funktion mit Argumenten in einer Funktion mit Argumenten auf
Angenommen, diese Klasse:
class myClass {
public static function myFunctionOne ($arg_one, $arg_two, $arg_tree) {
echo $arg_one;
myClass::$arg_two($arg_tree);
}
public static function myFunctionTwo ($arg_four) {
echo $arg_four;
}
}
Dann rufen Sie oben Klasse irgendwo (mein Fall eines HTML-Menü in einer PHP-Datei erstellt), wie die folgenden:
myClass::myFunctionOne('echo a string', 'myFunctionTwo', 'echo forth value');
Dies funktioniert gut, und es Ausgänge:
echo a string echo forth value
Aber ist es legitim?
Es sieht für mich skizzenhaft aus. Kann ich Funktionen wie diese verwenden, um eine Funktion mit Argumetn in einer Funktion mit Argumenten aufzurufen?
Ja, es ist echt. So können Sie Funktionen abhängig von Benutzereingaben dynamisch aufrufen. Sie können auch http://php.net/manual/de/function.call-user-func.php ausprobieren. Die andere Frage ist: Brauchen Sie wirklich dynamische Funktionsaufrufe? Meistens ** nicht **. – Xatenev
Nun, ich bin mir fast sicher, ich könnte es anders machen, aber der obige Fall ist nur ein kurzer Auszug dessen, was ich mache. Ich versuche gerade, etwas OOP zu lernen (und ja, oben ist alles außer OOP ich nehme an: P). Das obige ist nur ein kleiner Teil eines größeren Bootstrap-Akkordeons, in dem ich Tab-IDs und hrefs erstellen möchte, aber ALSO Call Body und Menütitel mit der gleichen Funktion in einem, indem ich nur die Argumente ändere. Wahrscheinlich gibt es bessere Möglichkeiten, aber man lernt auf dem Weg :) Vielen Dank für die Bestätigung, dass es eine legitime Art ist, und nicht ein "es funktioniert casual" Fall :) – smileBeda
Das funktioniert sicher. – peter