最近我一直在阅读很多PHP教程,看到了很多"helper classes"的例子,这些类主要用于生成典型的HTML组件。表单似乎很受欢迎。
我可以理解这可能会使代码更清晰,因为我太熟悉将html与php混合使用所带来的麻烦。但是除此之外还有其他原因吗?有性能方面的好处吗?如果你的网站只需要有一两个表单,那么似乎并不需要进行这样的操作。
易用性和快速开发是首先想到的。使用PHP生成HTML的性能实际上会更慢,但我怀疑它会成为您应用程序的瓶颈(而且您可以缓存大部分HTML输出)。
例如,这两个哪一个看起来更容易实现...
<?php
$name = 'abc';
$options = array('a', 'b', 'c');
$selected = 2;
?>
<?php echo form::select($name, $options, $selected); ?>
<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,我们现在需要在IE6中使所有密码元素拥有红色边框。
...你可能会想...
我知道了,我会使用
input[type="password"] { ... }
。但等等,IE6不支持这个吗?
...所以你可以进入你的input
生成函数并在那里添加一个class
,然后在你的CSS中引用它。如果你决定这样做,将从/>
改为>
也会很轻松。