3

HTML はプレーンな HTML でなければならないことがわかっているため、これらのクラスを使用することはパフォーマンスまたはセキュリティの問題に適していますか。
例えば

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

よりも良い

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

では、なぜ使用する必要があるのでしょうか

echo form_input('username');
4

2 に答える 2

3

ヘルパー関数は簡単にするためにのみ提供されています。使用する必要はありません。単純な html を使用することをお勧めします。なぜなら、ヘルパーを使用するとサーバーにオーバーヘッドが確実に発生するからです。一方、これらの関数を使用する利点は、コードが縮小されることです。たとえば、このテキストを読んでください。私は彼らのドキュメントからコピーしました

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);?>" />

注: このページにリストされているフォーム ヘルパー関数のいずれかを使用すると、フォームの値が自動的に準備されるため、この関数を呼び出す必要はありません。独自のフォーム要素を作成する場合にのみ使用してください。

于 2012-02-29T12:14:25.670 に答える
2

これは実際にはパフォーマンスの問題ではなく、フォーム、特に動的データで本当に何をする必要があるかという問題です。

たとえば、次を使用する場合:

<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" />

などなど...

于 2012-02-29T08:28:17.687 に答える