簡體   English   中英

靜態HTML或PHP生成的HTML?

[英]Static HTML or PHP generated HTML?

我最近一直在閱讀很多PHP教程,我一直在看“輔助類”的例子,它們主要用於生成典型的HTML組件。 表格似乎很受歡迎。

我可以接受這可能會使代碼更清晰,因為我對使用php進行網格化html的“klunky-ness”非常熟悉。 有沒有“其他”原因? 某種表現有什么好處? 我可以看到為什么如果你的網站在不同的地方有100個表格會很好,但是如果你只有一兩個表格,那么它似乎比必要的工作更多。

我想到了易用性和快速發展。 使用PHP生成HTML實際上會慢一些,但我懷疑它會成為你的應用程序的瓶頸(你可以緩存大部分的HTML輸出)。

例如,哪些看起來更容易實現......

<?php 
 $name = 'abc';
 $options = array('a', 'b', 'c');
 $selected = 2;
?>

例1

<?php echo form::select($name, $options, $selected); ?>

例2

<select name="<?php echo $name; ?>">
<?php foreach($options as $value => $node): ?>
   <option
     value="<?php echo $value; ?>"
     <?php echo ($selected === $index) ? ' selected="selected"' : NULL; ?>
   >
   <?php echo $node; ?>
   </option>
<?php endforeach; ?>
</select>

我認為你會發現第一個例子更容易閱讀,更少的類型和保證每次都工作(只要你正確編碼)。


另外,如果你的老板說......

嘿zdkroot,我們現在需要讓所有密碼input元素在IE6中都有一個紅色邊框。

......你可能會想到自己......

我知道,我會使用input[type="password"] { ... } 哦等等,IE6不支持嗎?

...所以你可以進入你的input生成函數並在那里添加一個你可以在CSS中引用的class 它也會從/>更改為>同步(如果您決定)。

考慮一下您給出的示例 - 表單構建器。

表單的內容是您需要的不僅僅是HTML。 您還需要將這些輸入字段映射到變量,您需要驗證它們,您需要將它們保存到數據庫,您需要使用來自數據庫的數據預先填充它們。

一個好的表單構建器類將處理其中的大部分。 如果您手動構建HTML代碼,您仍然可以輕松地修改它,但您必須編寫自己的驗證和處理例程。

這是使用預建類的好處。

當然還有缺點。 通常,像這樣的類將使創建滿足創建類的人員的設計標准的表單變得非常容易。 但是如果你的要求與那些略有不同,強迫它做你想做的事情可能會非常棘手。

但大多數時候它確實運作良好。

有關表單助手或庫可能有用的原因的選擇,您可以查看我最近發布的問題PHP和jQuery表單創建和驗證庫可用嗎?

經常給你:

  • 一種簡單的驗證方法
  • 有時包括客戶端驗證
  • 形成可重用性
  • 更快的發展速度

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM