【问题标题】:jQuery Templating vs. PHP echoingjQuery 模板与 PHP 回显
【发布时间】:2012-11-23 11:40:23
【问题描述】:

我正在编写一个搜索引擎,并试图找出显示结果的最佳方式(每页 5 个)。

我是动态 Web 开发的新手,请多多包涵。目前,处理是在 PHP 中的服务器端完成的,并且使用大量 HTML 代码将结果回显为正确的格式。虽然这工作得很好,但如果我决定更改 HTML,它并不是最容易维护的,而且坦率地说,它看起来很乱。像这样,但更多涉及到HTML:

while($rows)       
   echo "<div class='someClass'>".$rows['name']."[...]</div>"

除了清理之外,切换到使用来自 AJAX 调用的数据的 jQuery 模板有什么好处(如果有的话)?最好将内容保存在 PHP 中以对用户隐藏所有处理(并且不公开对 .php 文件的任何调用)?

【问题讨论】:

    标签: php jquery ajax jquery-templates


    【解决方案1】:

    在安全方面,如果您公开您的 ajax 调用,它不会产生太大的影响。性能方面,这完全取决于客户端(最终用户)是否呈现模板,这将是使用 jQuery 或服务器呈现模板的情况。这意味着在页面完全加载并且您的 jQuery 有机会触发 ajax 请求并接收响应之前,用户最初不会看到您的任何实际内容。而使用 PHP 执行此操作时会随页面一起呈现,并在页面加载之前在技术上显示。

    也就是说我个人已经使用了这两个选项。

    【讨论】:

    • 好的,听起来不错。我不知道,在性能方面,我是否让事情变得比他们应该的更迟钝。我可能会使用 webnoob 建议的 EOF 方法。
    • @Jon 使用它时要小心,因为您仍然可能会得到大量不可维护的代码。如果您不熟悉模板,我建议您研究 Smarty PHP。这是一个基于 PHP 的模板系统,可让您将模板抽象为实际的模板文件,而不是将它们分散在代码中。
    • 嗯,通常不赞成将模型(PHP 代码)与模板(HTML)混合在一起,如果你将它们混合得太多并开始做诸如转义之类的事情?> 对于特定的字符串,它会成功很难找出 PHP 代码真正在做什么,尤其是在某些函数具有巨大的 HTML sn-ps 的类结构中。如果您想要一个非常好的示例来学习避免使用的东西,请下载 wordpress 的副本并查看他们的一些模板代码。
    • 谢谢彼得。很高兴知道这一点。
    【解决方案2】:

    你可以使用php&lt;&lt;&lt;EOF(heredoc):

    <?php
    
        $test = "something";
    
        $str = <<<EOF
        <p>Hello</p>
        <p>$test</p>
    EOF;
        echo $str;
    ?>
    

    这将允许您在 PHP 中拥有一大块易于阅读的 HTML。我不会在 JQuery 中使用 AJAX 调用。

    【讨论】:

    • @Peter 谢谢,忘记叫什么了:)
    猜你喜欢
    • 1970-01-01
    • 2012-10-10
    • 2011-11-30
    • 1970-01-01
    • 2010-10-03
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    相关资源
    最近更新 更多