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
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
@Jeemusu nie musisz używać pomocnika formularza dla tokenów CSRF, ponieważ możesz to zrobić: ' ' –
@ cryptic ツ - Chciałbym wiedzieć, że wcześniej: P Pozdrawiam. – Jeemusu