我想要包含一个文件 $ includes [content]是一个变量,我想使用include函数。
$includes[content]="
<form action=\"index.php?view=login&action=login&".iif($rid!="","rid=$rid&")."".$url_variables."\" method=\"post\" onSubmit=\"submitonce(this)\">
<input type=\"hidden\" value=\"$returnTo\" name=\"returnTo\">
Some html in php form.
<-- I want to add include 'sys/CodeGen.php'; function -->
Some more html in php form.
Ends in
</form></div>
";
?>
如何在include [content]之间添加?
答案 0 :(得分:0)
我不确定我理解你的问题。我假设你想做这样的事情:
$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类。