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
}

2 番目の方法は、html を文字列に変換する必要がないため、最初の方法よりもはるかに簡単ですが、return ステートメントがないために予期しない問題が発生するのではないかと考えています。アドバイスありがとうございます!

4

2 に答える 2

4

投稿した 2 つの関数は、異なることを行います。1 つ目は html の文字列を返し、2 つ目は文字列を出力します。

基本的に、関数で何を達成したいかによって異なります。HTML を印刷したい場合は 2 番目の関数の方が適しています。文字列に 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 に答える