2013-02-15 21 views
5

È utile per problemi di prestazioni o di sicurezza utilizzare tali classi poiché sappiamo che HTML deve essere in formato HTML semplice.Devo usare gli helper dei moduli su HTML standard?

Esempio:

in Codeigniter quadro:

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

è conosciuto come

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

che è meglio?

+4

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

+2

@Jeemusu non è necessario utilizzare l'helper del modulo per i token CSRF poiché è possibile farlo: ' ' –

+0

@cryptic ツ - Vorrei saperlo prima: P Cheers. – Jeemusu

risposta

4

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

2

Questa è una buona domanda. Penso che alla fine dipenda dalle preferenze personali. Personalmente non mi piace usare gli aiutanti del modulo, ma posso certamente vedere i benefici del loro utilizzo e cerco di usarli se sto lavorando su un grande progetto. Perché, come dice Phil Sturgeon, è molto più semplice quando si desidera che un sito cambi completamente in tutti i campi modulo.

Anche se sarei interessato a vedere se l'utilizzo delle funzioni di aiuto modulo influisce sulle prestazioni. Sicuramente l'utilizzo di PHP per generare l'HTML ha un impatto sulle prestazioni rispetto alla semplice scrittura dell'HTML normalmente?