2013-02-15 10 views
5

Ist es für Leistung oder Sicherheitsproblem gut, diese Klasse zu verwenden, da wir wissen, dass HTML in einfachem HTML sein sollte.Sollte ich Formularhelfer über Standard-HTML verwenden?

Beispiel:

in Codeigniter Rahmen:

echo form_input(array('name' => 'one')); 

ist bekannt als

<input type="text" name="one"/> 

Was ist besser?

+4

Ich tendiere dazu, sie zu vermeiden, da ich ein benutzerdefiniertes Template-System verwende, das es mir erlaubt, alle meine View-Dateien nur als HTML zu speichern, wodurch sie für die Designer leichter zugänglich sind. Wenn Sie Codeigniters verwenden wollen, die in csrf-Tokens eingebaut sind, dann müssen Sie den Formular-Helper benutzen, um die Formulare zu öffnen/zu schließen, aber abgesehen davon ist es meistens auf Ihre eigene Präferenz zurückzuführen. – Jeemusu

+2

@Jeemusu Sie müssen nicht den Formularhelfer für CSRF-Tokens verwenden, da Sie einfach Folgendes tun können: ' ' –

+0

@cryptic Wish - Wünschte, ich wüsste das früher: P Prost. – Jeemusu

Antwort

4

Kopiert von Phil Sturgeon Blog:
Die zusätzliche Abstraktionsschicht, kombiniert mit Helfer erstreckt/überwiegendes macht es sehr einfach einfache Bits der Logik der gesamten Anwendung Ausgabe mit minimalem Aufwand zu ändern.

Um zu erklären, werde ich ein Beispiel verwenden.

<form action="<?php echo site_url('controller/method'); ?>" method="post"> 
vrs 
<?php echo form_open('controller/method'); 

Zuerst werden Sie den Standard HTML Weg zu sehen, es zu tun, mit der site_url() Funktion verwendet, um den Link zum Formular Aktion zu erstellen. Zweitens sehen Sie das form_open() Tag - und in diesem Beispiel ist es auch kürzer, wahey!

Ich wollte eine Möglichkeit, accept-charset="UTF-8" in alle meine Formulare zu setzen, um meine Daten alle UTF-8 in CodeIgniter zu halten. Wenn ich nur HTML dann würde ich alle meine Formulare gehen und fügen Sie das in mir selbst, die Zeit verschwenden würde, die ich in der Kneipe hätte verbringen können.

Stattdessen, wie CodeIgniter Ihnen erlaubt, Helfer zu erweitern, habe ich gerade meine eigene leicht modifizierte form_open() in application/helpers/MY_form_helper.php gemacht, die diese Logik enthielt.
Da ich PHP nutzte, um meine nützlichen Daten zu verpacken, konnte ich eine einfache Änderung vornehmen und alle meine Tags aktualisieren.

Das Hauptproblem ist, dass die Leute diese HTML Hilfsfunktionen betrachten und sie als unterschiedliche Syntax sehen.

Zum vollständigen Artikel finden Sie unter:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock

2

Dies ist eine gute Frage. Ich denke, letztendlich kommt es auf persönliche Vorlieben an. Persönlich mag ich es nicht, die Formularhelfer zu benutzen, aber ich kann sicherlich die Vorteile sehen, die sich daraus ergeben, und ich versuche sie zu benutzen, wenn ich an einem großen Projekt arbeite. Denn wie Phil Sturgeon sagt es viel einfacher, wenn Sie eine Site-weite Änderung in allen Formularfeldern vornehmen möchten.

Obwohl ich interessiert wäre zu sehen, ob die Verwendung der Form Hilfsfunktionen die Leistung beeinträchtigt. Sicher, PHP zu verwenden, um den HTML-Code zu generieren, hat einen Leistungseinbruch, als einfach nur den HTML-Code zu schreiben?