/ / Instanziiere eine Klasse basierend auf den Daten aus einer Form - PHP, JQuery, Klasse, oop

Instanziieren Sie eine Klasse basierend auf den Daten, die von einem Formular kommen - php, jquery, class, oop

Ich möchte eine bestimmte Klasse instanziieren, wenn mein PHP-Skript Daten aus dem Eingabefeld mit name = "files []" erhält.

Zum Beispiel hat jemand eine Datei mit einem von hochgeladendas eingabefeld in meinem html formular, jquery sendet daten als json an php und in php baue ich verschiedene klassen auf und jede klasse wird instanziiert basierend auf dem wert des eingabefeldes des namensattributs.

Das ist es was ich versuche zu tun

error_reporting(E_ALL | E_STRICT);
require("UploadHandler.php");
if (!empty($_REQUEST) && empty($_REQUEST["files[]"]) && empty($_REQUEST["files2[]"])) {
$upload_handler1 = new UploadHandler();
}
else {
if ($_REQUEST["files"]) {
$custom_upload_handlerone = new customUploadHandlertwo();
}
if ($_REQUEST["files2"]) {
$custom_upload_handlertwo = new customUploadHandlerone();
}
}

Wenn jemand das angegebene Eingabefeld nicht verwendetUm Daten zu senden, sollte die einfache Klasse UploadHandler instanziieren und sobald ich ein Eingabefeld sende, sagen wir mit dem Attribut name = "file2 []". Das Skript stoppt die UploadHandler-Instanziierung und instanziiert die Klasse customUploadHandlertwo

Antworten:

1 für die Antwort № 1

Ich gehe davon aus, dass es einen Zusammenhang mit dem Namensattribut des Feldes und der PHP-Klasse gibt. In diesem Fall ist die Instanziierung einer solchen Klasse wie folgt einfach

...
else {
if ($_REQUEST["files"]) {
$className = $_REQUEST["files"];
$custom_upload_handlerone = new $className();
}
if ($_REQUEST["files2"]) {
$className = $_REQUEST["files2"];
$custom_upload_handlertwo = new $className();
}
}
...