Copiato da Phil Sturgeon Blog:
L'ulteriore livello di astrazione, in combinazione con l'estensione di aiuto/imperativa lo rende molto facile cambiare semplici pezzi di logica tutto l'output applicazione con il minimo sforzo.
Per spiegare, userò un esempio.
<form action="<?php echo site_url('controller/method'); ?>" method="post">
vrs
<?php echo form_open('controller/method');
In primo luogo si vedrà la HTML
modo standard per farlo, con la funzione site_url()
utilizzato per creare il link al form action. Secondo, vedrai il tag form_open()
- e in questo esempio anche il suo più breve, wahey!
Volevo un modo per impostare accept-charset="UTF-8"
in tutti i miei moduli per mantenere i miei dati tutti UTF-8 in CodeIgniter. Se stavo usando solo HTML
allora dovrei passare attraverso tutte le mie forme e aggiungerlo in me stesso, il che sarebbe il tempo che avrei potuto trascorrere al pub.
Invece, come CodeIgniter consente di estendere aiutanti, ho appena fatto il mio leggermente modificato form_open()
in application/helpers/MY_form_helper.php
che conteneva questa logica.
Perché stavo usando PHP per avvolgere i miei dati utili, potevo fare una semplice modifica e aggiornare tutti i miei tag.
Il problema principale è che le persone guardano queste funzioni di supporto HTML
e le vedono puramente come una sintassi diversa.
Per una completa visita articolo:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock
fonte
2013-02-15 05:02:11
Tendo ad evitarli poiché utilizzo un modello di modello personalizzato che mi consente di mantenere tutti i miei file di visualizzazione solo in HTML, rendendoli più accessibili ai progettisti. Se si desidera utilizzare i codificatori incorporati nei token csrf, sarà necessario utilizzare l'helper del modulo per aprire/chiudere i moduli ma, a parte questo, si tratta principalmente di preferenze personali. – Jeemusu
@Jeemusu non è necessario utilizzare l'helper del modulo per i token CSRF poiché è possibile farlo: ' ' –
@cryptic ツ - Vorrei saperlo prima: P Cheers. – Jeemusu