繁体   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