Подтвердить что ты не робот

Php-переменная в html нет другого пути: <? php echo $var;?>

Я много работаю в смешанном HTML и PHP, и в большинстве случаев мне просто нужен твердый HTML с несколькими переменными PHP, поэтому мой код выглядит так:

<tr><td> <input type="hidden" name="type" value="<?php echo $var; ?>" ></td></tr>

Это довольно уродливо. Разве нет ничего короче, больше похоже на следующее?

<tr><td> <input type="hidden" name="type" value="$$var" ></td></tr>

Это возможно, но вы застряли с "" (вы должны заменить их все на ''), и макет ушел

echo "<tr><td> <input type="hidden" name="type" value="$var" ></td></tr>"

Есть ли что-нибудь лучше?

4b9b3361

Ответ 1

Есть короткая версия вашего кода, которая теперь полностью приемлема для использования, несмотря на устаревшие рекомендации в противном случае:

<input type="hidden" name="type" value="<?= $var ?>" >

который (до PHP 5.4) требует, чтобы в вашей конфигурации php были включены короткие теги. Он работает в точности как введенный вами код; эти строки буквально идентичны по своей внутренней реализации:

<?= $var1, $var2 ?>
<?php echo $var1, $var2 ?>

Это о встроенных решениях. Существует множество сторонних библиотек шаблонов, которые облегчают встраивание данных в ваш вывод, smarty - хорошее место для начала.

Ответ 2

Используйте синтаксис HEREDOC. Вы можете смешивать одиночные и двойные кавычки, переменные и даже вызовы функций с неизменной/неэкранированной разметкой html.

echo <<<MYTAG
  <tr><td> <input type="hidden" name="type" value="$var1" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var2" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var3" ></td></tr>
  <tr><td> <input type="hidden" name="type" value="$var4" ></td></tr>
MYTAG;

Ответ 3

Я действительно думаю, что вы должны принять шаблонный движок Smarty в качестве стандартного php lib для ваших проектов.

http://www.smarty.net/

Name: {$name|capitalize}<br>

Ответ 4

Существует множество систем шаблонов, которые предлагают более компактный синтаксис для ваших представлений. Smarty является почтенным и популярным. В этой статье перечислены 10 других.

Ответ 5

Я бы посоветовал не использовать shorttags, см. Являются ли короткие короткие слова PHP приемлемыми для использования? для получения дополнительной информации о том, почему.

Лично я не против смешать HTML и PHP так

<a href="<?php echo $link;?>">link description</a>

Пока у меня есть редактор кода с хорошей подсветкой синтаксиса, я думаю, что это довольно читаемо. Если вы начнете эхом HTML с PHP, вы потеряете все преимущества синтаксиса, выделяя ваш HTML. Другим недостатком эхо-ответа HTML является материал с кавычками, следующий намного менее читаемый ИМХО.

echo '<a href="'.$link.'">link description</a>';

Самое большое преимущество для меня с простым эхом и простым циклом в PHP и остальным в HTML заключается в том, что отступы согласованы, что в конечном итоге улучшает читаемость/проверку.

Ответ 6

В разделе php перед секцией HTML используйте sprinf() для создания константной строки из переменных:

$mystuff = sprinf("My name is %s and my mother name is %s","Suzy","Caroline");

Затем в разделе HTML вы можете делать все, что захотите, например:

<p>$mystuff</p>