1

所以作为一个新手,这只是一个最佳实践问题,但最好从这样的函数返回 html:

function returnHtml($userName)
{   
$htmlMsg = "
<html>
    <head>
        <title>Return the html</title>
    </head>
    <body>
        <p>You've received an email from: ".$userName.".</p>
    </body>
</html>
";

return $htmlMsg;
}

或者像这样:

function returnHtml($userName)
{
?>
<html>
    <head>
        <title>Return the html</title>
    </head>
    <body>
        <p>You've received an email from: <?php $userName ?>.</p>
    </body>
</html>
<?php
}

第二个比第一个容易得多,因为您不必将 html 转换为字符串,但我想知道缺少 return 语句是否会导致任何无法预料的问题。感谢您的任何建议!

4

2 回答 2

4

您发布的两个功能做不同的事情。第一个返回一个html字符串,第二个打印字符串。

本质上,这取决于您要使用该功能完成什么。如果你想打印一些 HTML,第二个函数更好,如果你想在一个字符串中包含一些 HTML,第一个更好。

于 2012-08-07T00:39:27.950 回答
2

如果您使用它来使用 AJAX、GET 或 POST 方法获取 HTML 代码,那么我会选择第一个,因为从 php 文件回显的任何内容都会放入您可以使用的变量中。

例如:

$.ajax({
    type: "POST",
    url: "document.php",
    data: {data: "some information to send"},
    success: function(echoed_data) {
        $('#element').html(echoed_data);
    }
});

文件.php

function returnHtml($userName) {   
    $htmlMsg = "
        <html>
            <head>
                <title>Return the html</title>
            </head>
            <body>
                <p>You've received an email from: ".$userName.".</p>
            </body>
        </html>
    ";

    echo $htmlMsg;
}

这将使用 AJAX 从“document.php”发送和接收数据,然后将从 .php 文件回显的 HTML 代码输入到某个元素中。

于 2012-08-07T00:45:12.337 回答