【问题标题】:PHP/HTML: Code reusePHP/HTML:代码重用
【发布时间】:2012-02-29 17:52:12
【问题描述】:

Stackoverflow 如何重用他们的代码,尤其是页眉和页脚?

所以,基本上当我点击“标签”时,只有内容发生变化,而不是页眉和页脚。 什么是最好的赞美?一个简单教程的链接会很好。

我正在使用 HTML5、PHP 和 MySQL。还没有涉及到 javascript。

【问题讨论】:

  • 你是说加载页面内容而不刷新整个页面(ajax)?
  • 是的,但也是代码重用。我不想在每一页上更新页眉/页脚。我目前没有使用 Ajax。完全用 css 和 html(和 php)创建我的网站。我以后肯定会添加一些javascript。我的想法是该网站应该在没有 javascript 的情况下工作......
  • +1 表示渐进增强方法,@user1163859
  • 谢谢! +1 快速回复@vzwick

标签: php html templating


【解决方案1】:

不涉及任何框架,请尝试以下方式:

<?php

include('header.php');

// do something, render page specific content ...

include('footer.php');

【讨论】:

  • 嗯,这会渲染位于 header.php/footer.php 中的 html 吗?还是只是 php?
  • include() 就像它听起来的那样 - 它插入引用的 php 文件并执行它。 Documentation here。所以,是的,它也呈现 HTML。
【解决方案2】:

Ajax 是一种仅重新加载特定 div 而非整个页面的技术:Ajax

【讨论】:

    【解决方案3】:

    我不知道 HTML5 是否可行,但我使用 AJAX 和 JQUERY 进行动态站点/内容刷新

    Jquery 文档位于 http://docs.jquery.com/Main_Page,JqueryUI 位于 http://jqueryui.com/demos/

    这里是一个简单的 JQUERY/AJAX 代码 sn-p

    $.ajax({
        beforeSend:function()   {
            $("#loader").show();
        },
        url:your/path/file.php,
        method:"get",
        data:{rights:usrRights,rights2:usrRights2},
        dataType:"html",
        success:function(output)    {
            $("#content").html(output);
        },
        complete: function() {
            $("#loader").fadeOut("slow");
        }
    });
    

    包含一个带有叠加层的加载器 div,默认情况下它隐藏在 div 中,我放置了一个 .gif 加载器图像

    希望能帮到你

    问候

    【讨论】:

      【解决方案4】:

      他们这样做的方式是将所有静态内容(不会在页面之间更改的内容)分离到单独的文件中。然后正如@vzwick 指出的那样,他们根据需要将它们包括在内。

      必须说,它们已加载。 SO 不使用 AJAX 仅出于布局目的重新加载页面的特定部分。页眉和页脚部分在服务器调用之间缓存,并且似乎几乎是瞬间加载的。

      这是大多数网络脚本语言的工作原理。

      【讨论】:

      • 好的,所以优点是它是一种更简洁的编码方式,因为我只需要更新一次页眉/页脚。但是,没有必要让我的网站更快......对吧?
      • 速度增益在于您必须编写的代码量和代码的可维护性;)
      • 如果您没有使用某种 PHP 缓存机制来缓存已解析的 PHP,那么不,不会有速度提升。使您的网站更快的是允许浏览器缓存 css 和 javascript。对页面进行 gzip 压缩也会有很大帮助。
      猜你喜欢
      • 2012-04-05
      • 2011-04-07
      • 2012-02-27
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多