我习惯在PHP代码之外使用包含大块html的包含,但我正在尝试转移到类或函数,因为它们增加了灵活性和设计模式的潜力等。
我现在需要一个函数,它将返回大量的html,混入一些php变量,但我正在寻找远离<?php
声明的代码,以便它将是格式化为正确的html并具有代码提示,而不是一个巨大的字符串。
如果有可能,我将如何进行格式化/写作?
答案 0 :(得分:3)
我会做这样的事......
function getPage() {
ob_start();
include("file_with_html.php");
$content = ob_get_clean();
return $content;
}
当然,您可以根据需要添加其他功能。但是,这里的优点是你正在使用输出缓冲。如果没有这个,数据会立即发送给用户。但是,使用ob_start()
和ob_get_clean()
,您可以将其返回并使用它。
答案 1 :(得分:2)
您可以使用include('somefile.html');
。
include 也适用于vanilla HTML。
如果你需要“混入一些php变量”,只需在需要时添加它们。请记住:PHP本质上是一种模板语言。
例如:
<强> outerHTML.php:强>
<?php function generateCode($username) { ?>
<h1>Welcome back, <?php echo $username; ?></h1>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<?php } ?>
<强> main.php:强>
<?php
// some PHP code
include('outerHTML.php');
generateCode('John');
// some more PHP code
?>
答案 2 :(得分:1)
此外,您可以在类中使用输出缓冲。请参阅http://php.net/manual/en/function.ob-start.php
上的评论