2013-02-15 61 views
5

因爲我們知道HTML應該是純HTML,所以使用這些類是否有利於性能或安全問題。我應該在標準HTML上使用表單助手嗎?

實施例:

在笨框架:

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

稱爲

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

哪個更好?

+4

我傾向於避免它們,因爲我使用了一個自定義模板系統,它允許我將所有視圖文件保留爲HTML,這使得它們更易於設計人員訪問。如果你想使用內置csrf標記的codeigniters,那麼你將不得不使用表單助手來打開/關閉表單,但除此之外它大部分都是根據你自己的偏好設置的。 – Jeemusu 2013-02-15 04:46:48

+2

@Jeemusu您不需要使用CSRF標記的表單助手,因爲您可以這樣做:'' – 2013-02-15 08:18:08

+0

@crypticツ - 希望我早點知道:P乾杯。 – Jeemusu 2013-02-15 08:20:16

回答

4

菲爾鱘魚博客複製:
抽象額外的一層,結合輔助擴展/壓倒一切使得它很容易改變的邏輯的簡單位整個應用程序的輸出以最小做文章。

解釋一下,我會用一個例子。

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

首先你會看到標準HTML辦法做到這一點,與用於創建鏈接到形式的行動site_url()功能。其次,你會看到form_open()標籤 - 在這個例子中,它的標籤也更短,wahey!

我想要一種方法來設置我所有表格中的accept-charset="UTF-8"以幫助保留我的數據全部UTF-8 in CodeIgniter。 如果我只是使用HTML,那麼我將不得不通過所有我的表格,並補充說,在我自己,這將浪費時間,我可以在酒吧度過。

相反,由於CodeIgniter允許您擴展幫助程序,因此我只是在application/helpers/MY_form_helper.php中做了我自己的稍微修改的form_open(),其中包含此邏輯。
由於我使用PHP來包裝我的有用數據,我可以做一個簡單的更改並更新我的所有標籤。

主要問題是人們正在看着這些幫助函數,並將它們看作純粹的不同語法。

有關完整的文章,請訪問:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock

2

這是一個很好的問題。我認爲最終歸結於個人偏好。就我個人而言,我不喜歡使用表單助手,但我當然可以看到使用它們的好處,如果我正在處理大型項目,我會嘗試使用它們。因爲像Phil Sturgeon一樣,當你想對所有表單域進行網站更改時,它就更容易了。

雖然我很想看看使用表單助手函數是否會影響性能。當然,使用PHP來生成HTML的性能要比僅僅正常寫HTML的性能要好?