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>"
Есть ли что-нибудь лучше?
Ответы
Ответ 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>