2013-02-15 19 views
5

Czy korzystanie z tych klas jest dobre ze względu na wydajność lub problemy z bezpieczeństwem, ponieważ wiemy, że HTML powinien być w zwykłym kodzie HTML.Czy powinienem używać kreatorów formularzy ponad standardowy HTML?

przykład:

w CodeIgniter zrębowe:

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

jest znany jako

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

który jest lepiej?

+4

Staram się ich unikać, ponieważ korzystam z niestandardowego systemu szablonów, który pozwala zachować wszystkie moje pliki widoku jako tylko HTML, dzięki czemu są bardziej dostępne dla projektantów. Jeśli chcesz używać codeigniters wbudowanych w tokeny csrf, będziesz musiał użyć helpera formularzy do otwierania/zamykania formularzy, ale poza tym zależy to głównie od twoich preferencji. – Jeemusu

+2

@Jeemusu nie musisz używać pomocnika formularza dla tokenów CSRF, ponieważ możesz to zrobić: ' ' –

+0

@ cryptic ツ - Chciałbym wiedzieć, że wcześniej: P Pozdrawiam. – Jeemusu

Odpowiedz

4

Skopiowane z Philem Sturgeon blogu:
Dodatkowa warstwa abstrakcji, w połączeniu z rozszerzeniem pomocnik/nadrzędnym sprawia, że ​​bardzo łatwo zmienić prostych bitów logiki całej produkcji aplikacji przy minimalnym wysiłku.

Aby wyjaśnić, użyję przykładu.

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

pierwsze widać standardowego HTML sposób to zrobić, z funkcją site_url() użyte do wygenerowania link do działania formularza. Po drugie zobaczysz znacznik form_open() - iw tym przykładzie również jest krótszy, wahey!

Potrzebowałem sposobu, aby ustawić accept-charset="UTF-8" we wszystkich moich formularzach, aby zachować moje dane wszystkie UTF-8 in CodeIgniter. Gdybym używał tylko HTML, musiałbym przejść przez wszystkie formularze wszystkie i dodać to w sobie, co byłoby marnowaniem czasu, który mogłem spędzić w pubie.

Zamiast tego, jak CodeIgniter pozwala rozszerzyć pomocników, ja właśnie zrobiłem moją rękę nieco zmodyfikowany form_open() w application/helpers/MY_form_helper.php który zawierał tę logikę.
Ponieważ używałem PHP do zawijania moich użytecznych danych, mogłem dokonać jednej prostej zmiany i zaktualizować wszystkie moje tagi.

Głównym problemem jest to, że ludzie patrzą na te funkcje pomocnicze HTML i widzą je w całkowicie odmiennej składni.

Pełną wizycie artykuł:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock

2

To jest dobre pytanie. Myślę, że ostatecznie sprowadza się to do osobistych preferencji. Osobiście nie lubię używać pomocników formularzy, ale z pewnością widzę korzyści z ich używania i staram się z nich korzystać, jeśli pracuję nad dużym projektem. Ponieważ tak jak Phil Sturgeon twierdzi, że jest o wiele łatwiej, gdy chce się zmienić całą witrynę na wszystkie pola formularzy.

Chociaż byłbym zainteresowany, aby sprawdzić, czy użycie funkcji pomocniczych formularza wpływa na wydajność. Z pewnością użycie PHP do wygenerowania kodu HTML ma lepsze wyniki niż zwykłe pisanie kodu HTML?