Я не уверен, что понимаю ваш вопрос. Я предполагаю, что вы хотите сделать что-то вроде этого:
$variable = "some html";
include($variable);
Если это так, все, что я могу сказать, это "ты не можешь, и ты не должен".
Эта часть «не может» связана с тем, что функция include()
(и ее братья) используют передаваемое им значение, чтобы найти файл и прочитать его. Если ему передано что-либо, кроме пути к файлу, произойдет сбой. Это хорошая вещь.
То, что вы хотите сделать, это создать файл шаблона, который вы можете включить туда, где он вам нужен. Например:
// form.inc
<form action="<?php echo $action; ?>">
<input type="hidden" value="$returnTo" name="returnTo">
</form>
Гораздо чище делать это таким образом, чем пытаться бросить его в переменную.
Если вы собираетесь многократно вызывать этот шаблон и беспокоитесь о производительности (это единственное, что я могу придумать, чтобы это рационализировать), тогда вы можете написать функцию в своем шаблоне, а затем include_once
файл.
Например:
// form.inc
<?php
function writeForm($action) {
?>
<form action="<?php echo $action; ?>">
<input type="hidden" value="$returnTo" name="returnTo">
</form>
<?php
}
?>
Таким образом, вы можете вызвать include_once("form.inc");
, и когда PHP проанализирует файл, он создаст функцию с именем writeForm()
, которую вы можете вызывать столько раз, сколько захотите, без необходимости каждый раз читать с диска.
Если у вас есть куча крошечных фрагментов кода, которые вы хотите включить, но не хотите, чтобы куча трехстрочных файлов висела (опять же, по какой-либо причине), тогда вы всегда можете иметь «фрагменты» .inc "файл, который определяет все эти маленькие функции, как я обрисовал выше.
Вы можете даже взять его еще дальше и сгруппировать связанные фрагменты вместе и создать класс Helper.