Diese Frage bezieht sich mehr auf den Prozess/die Logik, die ich in Bezug auf „SCALE“ implementieren möchte, als darauf, wie der Code geschrieben wird.
In WordPress habe ich mehrere Formulare, die als HTML geladen werden, um ein neues „Ereignis“ zu protokollieren, wenn der Benutzer einen benutzerdefinierten Beitrag erstellt (eigentlich einen neuen Datenbankeintrag für diejenigen, die mit CMS nicht vertraut sind), Zeit zum Laden. Ich möchte nicht alles manuell zuordnen, da hierupdate_post_meta()
来设置数据库条目/文章的名称和值 - 所以当提交表单时,我使用php循环foreach ($_POST as $name => $value) {
zum Auffüllen aller Datenbanktabellen für dieses Ereignis verwendet wird.
Das funktioniert gut, aber wenn der Benutzer jetzt das Formular speichert und später zurückkommt, um es zu bearbeiten, möchte ich, dass der Wert wie folgt zurückgegeben wird, sofern er vorhanden ist:
Auch dieser Ansatz funktioniert gut, aber ich habe fast 500 Felder auf dieser Seite, daher würde das manuelle Festlegen eindeutiger Variablen (in diesem Fall$reported_by
) für jedes Feld viel Zeit in Anspruch nehmen und im Grunde genommen die Codebasis um fast 50 % erhöhen schwierig zu warten und ineffizient.
Irgendwelche Ideen, wie man dieses Problem lösen kann? Verständlicherweise kann ich das Formular über PHP erstellen und es in HTML wiedergeben, aber auch das fühlt sich wie ein sehr manueller Prozess an. PHP ist serverseitig, daher kann ich den Namenswert des Tags/der Eingabe auf der Clientseite nicht einfach abrufen, es sei denn, ich verwende AJAX, aber ich habe das Gefühl, dass das auch ziemlich manuell werden würde.
Ich bin also jedenfalls mit einer Menge doppeltem Aufwand konfrontiert, es sei denn, es gibt eine Möglichkeit, diesen Prozess einfacher auf alle 500 Felder skalierbar zu machen, ohne dass ich die Variablennamen manuell festlegen muss.
Vielen Dank für Ihre Zeit!
首先要注意的是,你实际上并不需要为每个表单输入项创建一个不同命名的局部变量。也就是说,不需要这样写:
你可以这样写:
为什么这样有帮助呢?因为现在只有两个与此输入项相关的内容:
这两个都只是字符串,所以很容易提取到PHP变量中:
这些看起来很像参数,所以让我们把它变成一个函数,同时记得也传入
$incident_id
: