如何编写返回大量html的类/函数

时间:2011-08-29 13:29:33

标签: php return-value string-formatting

我习惯在PHP代码之外使用包含大块html的包含,但我正在尝试转移到类或函数,因为它们增加了灵活性和设计模式的潜力等。

我现在需要一个函数,它将返回大量的html,混入一些php变量,但我正在寻找远离<?php声明的代码,以便它将是格式化为正确的html并具有代码提示,而不是一个巨大的字符串。

如果有可能,我将如何进行格式化/写作?

3 个答案:

答案 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

上的评论