Должен ли я использовать CodeIgniter HTML или форму помощника класса? - PullRequest
3 голосов
/ 29 февраля 2012

Можно ли использовать эти классы с точки зрения производительности или безопасности, поскольку мы знаем, что HTML должен быть простым HTML.
например,

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

лучше

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

Тогда почему мы должны использовать

echo form_input('username');

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Вспомогательные функции предоставлены только для простоты, они не нужны для использования, всегда лучше использовать простой HTML, поскольку использование помощника определенно создаст дополнительную нагрузку на сервер, с другой стороны, преимущество использования этих функций в том, что ваш код становится минимизированным, например, readэтот текст, который я скопировал из их документации

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

Примечание. Если вы используете любую из вспомогательных функций формы, перечисленных на этой странице, значения формы будут автоматически вставляться автоматически., поэтому нет необходимости вызывать эту функцию.Используйте его, только если вы создаете свои собственные элементы формы.

2 голосов
/ 29 февраля 2012

На самом деле это не вопрос улучшения или производительности, это вопрос о том, что вам действительно нужно делать с вашей формой, особенно с динамическими данными.

Например, если вы используете:

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

И так далее, и так далее ...

...