回显HTML代码与将其保留在PHP之外

回显HTML代码与将其保留在PHP之外,php,Php,我应该选择其中一个片段而不是另一个片段吗?为什么 一, function render() { 回显“$content”; } 二, function render() { ?> 两者都不是好主意。 原因函数正在输出。请尝试以下方法: function render( $content_, $style_ ) { $res = "<div{$style_}>$content_</div>"; return $res; } 原因: 函数是计算和返回的,它

我应该选择其中一个片段而不是另一个片段吗?为什么

一,

function render()
{
回显“$content”;
}
二,

function render()
{
?>
两者都不是好主意。
原因函数正在输出。请尝试以下方法:

function render( $content_, $style_ )
{
    $res = "<div{$style_}>$content_</div>";
    return $res;
}
原因:

  • 函数是计算和返回的,它的主要目的就是这样
  • 应用程序正在生成,它可以使用函数进行准备
  • 您将来可能需要制作一些头文件,最好在脚本末尾启动所有输出。使用Smarty之类的模板,所以-将为您节省很多时间:)
  • 两者都不是好主意。 原因函数正在输出。请尝试以下方法:

    function render( $content_, $style_ )
    {
        $res = "<div{$style_}>$content_</div>";
        return $res;
    }
    
    原因:

  • 函数是计算和返回的,它的主要目的就是这样
  • 应用程序正在生成,它可以使用函数进行准备
  • 您将来可能需要制作一些头文件,最好在脚本末尾启动所有输出。使用Smarty之类的模板,所以-将为您节省很多时间:)

  • 作为一般规则,最好保持构成应用程序的每个文件的内容尽可能整洁。由于PHP是一种模板语言,您可以使用用途完全不同的PHP文件(考虑包含纯HTML的文件是有效的PHP文件),我个人的偏好是:

    如果需要在代码中创建少量HTML,请不要打开和关闭PHP标记。

    例如,您更喜欢以下内容:

    function render()
    {
        echo "<div>$content</div>";
    }
    
    <body>
      <div id="blah">
        <ul id="nav">
          <?php foreach ($navItems as $url => $title) : ?>
          <!--
          NOTE:
          You can opt to make the line below a single echo statement
          in PHP rather than HTML with values from PHP substituted
          in various places inside, and in this example it might even
          be better. However, if the output for each item is more complex
          than a li/a pair, it will be far more readable in this form.
          -->
          <li><a href="<?php echo $url ?>"><?php echo $title ?></a></li>
          <?php endforeach; ?>
    
    function render()
    {
    回显“$content”;
    }
    
    在这方面:

    function render()
    {
        ?><div><?= $content ?></div><?php
    }
    
    $output = '<body><div id="blah"><ul id="nav">';
    foreach ($navItems as $url => $title) {
        $output .= '<li><a href="'.$url.'">'.$title.'</a></li>
    }
    
    echo $output;
    
    function render()
    {
    ?>
    
  • 在这方面:

    function render()
    {
        ?><div><?= $content ?></div><?php
    }
    
    $output = '<body><div id="blah"><ul id="nav">';
    foreach ($navItems as $url => $title) {
        $output .= '<li><a href="'.$url.'">'.$title.'</a></li>
    }
    
    echo $output;
    
    $output=';
    foreach($url=>$title的navItems){
    $output.='
  • } echo$输出;
    作为一般规则,最好保持组成应用程序的每个文件的内容尽可能整洁。由于PHP是一种模板语言,您可以使用用途完全不同的PHP文件(考虑包含纯HTML的文件是有效的PHP文件),我个人的偏好是:

    如果需要在代码中创建少量HTML,请不要打开和关闭PHP标记。

    例如,您更喜欢以下内容:

    function render()
    {
        echo "<div>$content</div>";
    }
    
    <body>
      <div id="blah">
        <ul id="nav">
          <?php foreach ($navItems as $url => $title) : ?>
          <!--
          NOTE:
          You can opt to make the line below a single echo statement
          in PHP rather than HTML with values from PHP substituted
          in various places inside, and in this example it might even
          be better. However, if the output for each item is more complex
          than a li/a pair, it will be far more readable in this form.
          -->
          <li><a href="<?php echo $url ?>"><?php echo $title ?></a></li>
          <?php endforeach; ?>
    
    function render()
    {
    回显“$content”;
    }
    
    在这方面:

    function render()
    {
        ?><div><?= $content ?></div><?php
    }
    
    $output = '<body><div id="blah"><ul id="nav">';
    foreach ($navItems as $url => $title) {
        $output .= '<li><a href="'.$url.'">'.$title.'</a></li>
    }
    
    echo $output;
    
    function render()
    {
    ?>
    
  • 在这方面:

    function render()
    {
        ?><div><?= $content ?></div><?php
    }
    
    $output = '<body><div id="blah"><ul id="nav">';
    foreach ($navItems as $url => $title) {
        $output .= '<li><a href="'.$url.'">'.$title.'</a></li>
    }
    
    echo $output;
    
    $output=';
    foreach($url=>$title的navItems){
    $output.='
  • } echo$输出;
    考虑包含文件或仅使用XPHP。因此,我们现在基本上有4个选项:)您建议的选项的好处是什么?在这个设置中,我更喜欢第一个选项(只是为了更干净的代码)。甚至最好在PHP代码中完全不使用HTML,例如使用templateParser,而不是
    echo“$content”
    您可以将某些内容放在
    $tpl->NewBlock(“内容”);
    $tpl->assign(数组('CONTENT'=>$CONTENT));
    (这是TemplateParser的一个示例)。或者因为这是一个类(至少我认为是这样):返回值并将其添加到另一个文件的HTML中。对我来说,在类或函数定义中打破PHP块是绝对禁忌的。我更喜欢包含文件(因为我对XPHP还不是很熟悉)。包含文件将用作“视图”文件,这样,你会有MVC的感觉(关注点分离)您的CSS、客户端脚本等都在视图文件上。所有数据都是在PHP函数中生成的,然后传递到文件中。但是,使用函数中的包含或要求不会向文件提供全局变量,需要全局或全局$var;考虑包含文件或仅XPHP。因此,基本上我们现在有4个选项:您建议的选项会带来哪些好处?在这个设置中,我更喜欢第一个选项(只是为了更干净的代码)。甚至最好完全不使用HTML,例如使用templateParser,而不是
    echo“$content”;
    您可以将其作为
    $tpl->NewBlock(“内容”);
    $tpl->assign(array('content'=>$content));
    (这是TemplateParser的一个示例)。或者因为这是一个类(至少我认为是):返回值并将其添加到另一个文件的HTML中。在类或函数定义中打破PHP块对我来说是绝对禁忌的。我更喜欢包含文件(因为我对XPHP还不是很熟悉).Include文件将作为您的“查看”文件,这样,您将获得MVC的感觉(关注点分离)。您的CSS、客户端脚本等位于视图文件中。所有数据都在PHP函数中生成,然后传递到文件中。但是,在函数中使用include或require不会向文件提供全局变量,您需要使用$GLOBALS或global$var;