【问题标题】:PHP Site Structure Technique with CSS/Javascripting Includes带有 CSS/Javascripting 的 PHP 站点结构技术包括
【发布时间】:2015-11-23 08:24:31
【问题描述】:

技巧#1:

  • 单个 index.php 文件,包括 header.php、navigation.php、footer.php 和内容文件,具体取决于 URL 变量。

问题 #1:

  • 您无法添加特定于内容页面的单个 .CSS 文件,因为它们必须添加到主 index.php 文件中,并且可能与其他内容页面冲突。
  • 如果特定内容页面需要 javascript,则必须在 index.php 文件中加载所有可能使用的 JS 文件。这意味着您无需为不需要的内容页面加载 JS 文件。

技巧#2:

  • 网站每个主要页面的template.php文件,包括header.php、navigation.php、footer.php。内容不是通过文件包含的,而是使用模板文件作为内容文件。

问题 #2:

  • 对模板所做的任何更改都必须手动复制到所有其他主要页面。

我开始使用技术 #1,直到遇到主要的 javascript 问题。我现在正在考虑转向技术 #2,并根据需要处理模板更改。

您使用什么技术以及如何解决 CSS/JS 包含问题?

【问题讨论】:

  • 你确定在 index.php 中包含 header.php 不会使 index.php 继承 header.php 的代码,包括任何 或
  • 如果您的站点足够大,以至于技术 #1 会导致严重问题,我强烈建议使用框架(Symfony、Laravel、Slim、Zend)。 Slim 框架可能是一个不错的起点……
  • 这个问题可能过于笼统。但是,根据要显示的内容,可以让 index.php 调用特定的 CSS 或 JS。确保 index.php 在 anything 输出到浏览器之前准确地知道 supposed 要做什么。 ;-)
  • 对不起,我应该提到我正在使用引导程序。技术#1 可以正常工作,直到我有一个例如使用 dataTable.js 的内容页面。 9/10 页面不会使用 dataTable.js。那么包含它来加载每个页面的内容是什么?另外,稍后在索引中加载内容文件时,我无法将 dataTable.css 文件注入标题中。
  • 另外..我无法在内容include中加载dataTable.js,因为我将我的JS文件放在文件的底部,并且需要在它之前加载jQuery。

标签: javascript php html css structure


【解决方案1】:

当一个唯一的 CSS 文件会很长时,我倾向于为整个网站或最多 2 个 CSS 文件使用一个 CSS。在这种情况下,我在第一个 CSS 文件中定义网站的一般布局和网站页面共享的公共结构,在第二个 CSS 文件中,我将定义特定于页面或对象的布局。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多