有没有更好的方法来编写这段php代码? return' ”。自动链接($tweet)。' “.相对时间($dt)。”$回复您的信息。” ';

有没有更好的方法来编写这段php代码? return' ”。自动链接($tweet)。' “.相对时间($dt)。”$回复您的信息。” ';,php,html,function,Php,Html,Function,我想知道是否有一种更干净的方法来编写这段代码,并考虑到处理时间,如果这真的意味着什么 p、 这段代码是函数的一部分,这是返回语句 是的。使用(以及HTML属性的单引号),然后可以在字符串中使用PHP变量,如下所示: return' <li> <a href="nano.com/' . $username . '"><img class="avatar" src="images/' . $picture . '" width="48" height="

我想知道是否有一种更干净的方法来编写这段代码,并考虑到处理时间,如果这真的意味着什么

p、 这段代码是函数的一部分,这是返回语句

是的。使用(以及HTML属性的单引号),然后可以在字符串中使用PHP变量,如下所示:

return'
    <li>
    <a href="nano.com/' . $username . '"><img class="avatar" src="images/' . $picture . '" width="48" height="48" alt="avatar" /></a>
    <div class="tweetTxt">
    <strong><a href="nano.com/' . $username . '">' . $username . '</a></strong> '. autolink($tweet).'
    <div class="date">'.relativeTime($dt).'</div><div class="date">'. $reply_info . '</div> <a class ="reply"  href="home.php?replyto=@'. $username .'&status_id='. $id .'&reply_name=' .$username.'"> reply </a>

    </div>
    <div class="clear"></div>
    </li>';

”。大家一致同意单引号是可以的。如果有人能给出一个像样的反驳,我很乐意听到。

Cleaner template and php code->use

我会把它切成几块,然后用它把它们绑在一起。

是的,有一个,你不需要MVC(只需要一个模板):


  • 必须阅读:。它描述了您必须如何使用上述代码。

    您可以使用HEREDOC语法:

    <li>
     <a href="nano.com/<?=$username ?>">
      <img class="avatar" src="images/<?=$picture ?>" width="48" height="48" alt="avatar" />
     </a>
     <div class="tweetTxt">
      <strong><a href="nano.com/<?=$username ?>"><?=$username ?></a></strong>
      <? echo autolink($tweet) ?>
      <div class="date"><?=relativeTime($dt) ?></div>
      <div class="date"><?=$reply_info ?></div>
      <a class="reply" href="home.php?replyto=@<?=$username?>&status_id=<?=$id?>&reply_name=<?=$username?>">
      reply
      </a>
     </div>
     <div class="clear"></div>
    </li>
    
    $auto=autolink($tweet);
    $rel=相对时间($dt);
    

    return你可以使用模板引擎,例如smarty、twig,

    这种糟糕的做法!所有属性值都应该按标准用双引号括起来。@Alex-如果我能多加一点注释就好了。我们有一些开发人员用单引号括属性值,这有时会让我不知所措。谢谢@Alex和@joel和@skilldrick,那么我应该让我的代码保持原样吗?不,需要更彻底的重构;)你为什么要从一个方法返回那团html呢?@Alex,@Joel,其他投票人:单引号有什么问题吗?标准明确允许两种方法。为什么这是一种不好的做法?我不喜欢MVC方法,我就是不明白!!谢谢anway:)@getaw好吧,如果你用MVC让自己更努力一点,你会做得更好。这是更好地编写代码的一个主要“网关”,尤其是在你面临的问题上。@zaf我尝试过使用CodeIgniter,我理解这个概念,但它比普通的编码更让我困惑,我对这段代码不是真的有问题,我只是好奇它是否有问题是一种更好的编写方法!!@zaf MVC是一种体系结构。它与此代码无关snipped@Col.弹片“MVC是体系结构”它与此代码无关(原文如此)“Q.E.D.为什么投否决票?这是一个可行的解决方案,可以使意图更加明确。+1:这是一个合理的清理方法。不要屏住呼吸等待落选选民解释为什么这没有用。@zaf好吧,如果你坚持的话。1.没有代码示例来估计这种改进的实际价值。sprintf仍然是一种丑陋的方法,它将HTML封装到PHP中,将字符串封装到函数中。。。别管HTML!它也是一种语言。它值得格式化/突出显示。一个程序员,谁会阅读这些代码,将节省一些头痛的更重要的任务。当然有更好的方法比这。为了正确解决这个问题,他的设计需要重新考虑。我建议的方法可能不适合你理想中的好代码,我也同意你的看法,但它绝对可以单独解决/改进这个问题。@Sprapnel上校感谢你回来并留下评论!支持你,但我也会继续支持这个问题。使用heredoc syntaxI不是标准吗?我必须承认,我非常喜欢这种方法。不过,倾向于将其保留在电子邮件模板之类的东西上。但是它会工作得很好。如果在heredocNo中有语句,我能做吗?不,你不能,这只是一种构建字符串的方法。你不能同时调用一个函数,这就是为什么我之前分配了两个变量。kool-kool,实际上这样更好,所以你可以做所有的处理,然后巧妙地回显它,这就是kool,无论如何,谢谢!!格式化了一点。人们低估了代码的格式设置/突出显示。
    <li>
     <a href="nano.com/<?=$username ?>">
      <img class="avatar" src="images/<?=$picture ?>" width="48" height="48" alt="avatar" />
     </a>
     <div class="tweetTxt">
      <strong><a href="nano.com/<?=$username ?>"><?=$username ?></a></strong>
      <? echo autolink($tweet) ?>
      <div class="date"><?=relativeTime($dt) ?></div>
      <div class="date"><?=$reply_info ?></div>
      <a class="reply" href="home.php?replyto=@<?=$username?>&status_id=<?=$id?>&reply_name=<?=$username?>">
      reply
      </a>
     </div>
     <div class="clear"></div>
    </li>
    
    $auto = autolink($tweet);
    $rel = relativeTime($dt);
    return <<<ENDOFRETURN
        <li>
        <a href="nano.com/$username"><img class="avatar" src="images/$picture" width="48" height="48" alt="avatar" /></a>
        <div class="tweetTxt">
        <strong><a href="nano.com/$username">$username</a></strong> $auto
        <div class="date">$rel</div><div class="date">$reply_info</div> <a class ="reply"  href="home.php?replyto=@$username&status_id=$id&reply_name=$username"> reply </a>
        </div>
        <div class="clear"></div>
        </li>
    ENDOFRETURN;