我应该使用CodeIgniter html还是表单助手类


Should I use CodeIgniter html or form helper class?

使用这些类是否有利于性能或安全问题,因为我们知道HTML应该是纯HTML
例如

<input type='text' .... />

比好

<?php
echo '<input type="text" .... />';
?>

那我们为什么要使用

echo form_input('username');

Helper函数只是为了方便而提供的,它们没有必要使用。使用简单的html总是更好的,因为使用Helper肯定会在服务器上产生开销。另一方面,使用这些函数的好处是你的代码变小了。例如,阅读我从他们的文档中复制的文本

form_prep()

允许您在中安全地使用HTML和引号等字符表单元素而不脱离表单。考虑这个例子:

$string='这是一个包含"带引号"文本的字符串。';

<input type="text" name="myform" value="$string" />
由于以上原因字符串包含一组引号,这将导致表单中断。这个form_prep函数转换HTML以便安全使用:

<input type="text" name="myform" value="<?php echo form_prep($string);?>" />

注意:如果您使用中列出的任何表单帮助器函数该页面将自动准备表单值,因此无需调用此函数。只有在创建自己的表单元素。

这实际上不是一个更好或性能的问题,而是一个真正需要对表单做什么的问题,尤其是对动态数据。

例如,如果您使用:

<input type="text" name="username" value="<?php echo $username; ?>" />

要放入默认值或验证生成的值,更容易做到:

echo form_input('username', $username);

例如也使用:

echo form_open('email/send');

将生成到控制器的正确链接/路径,因此如果您移动或更改应用程序目录,您不必担心它,因为它将显示正确的值:

<form method="post" accept-charset="utf-8" action="http:/example.com/index.php/email/send" />

等等。。。