所有PHP页面都包含整套CSS和JS,效率如何?

时间:2016-10-05 09:37:43

标签: javascript php jquery html css

我会总结一下。如果我无法正确地说出我的问题,请纠正我。

我有几个PHP页面,它们都具有以下格式:

<?php
include "header.php";
?>
INSERT PAGE SPECIFIC MATERIAL HERE
<?php
include "footer.php" ?>

的header.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <!-- Main CSS -->
    <link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
    <navmenu></navmenu>

footer.php

    <footer></footer>
    <!-- jQuery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <!-- Theme JavaScript -->
    <script src="js/main.js"></script>

</body>
</html>

我是PHP的新手,并不确定这是否是有效构建我的PHP文件的正确方法,因为我担心的是:

  1. 现在,每个PHP页面都会加载相同的导航菜单和页脚。 这是有目的的,没有问题。但是,它也会将所有CSS和JS一起加载,即使有很多CSS和JS行,但它在其他页面中使用的特定页面BUT中实际上并不实用。这是否需要关注,如果是,我们应该采取什么方式来做这件事?
  2. 我应该将main.js,style.css,header.php和footer.php分开,以便每个PHP页面加载正文函数所需的最小量?
  3. 处理此案件时的标准做法是什么?
  4. 如果你能提出一些建议,我将不胜感激!

4 个答案:

答案 0 :(得分:2)

如果你想减少页面上css / js的数量,你就可以做这样的事情......用你的CSS调用:
<link rel='stylesheet' type='text/css' href='css/style.php' />

在style.php中,它看起来像这样:

 <?php
 switch(basename($_SERVER['PHP_SELF'])){
    case 'index.php':
      echo 'CSS code for index.php gos here';
    break;

    case 'login.php':
      echo 'CSS code for login.php gos here';  
    break;
 }
?>      

除非你有很多样式和javascript确认会严重增加加载时间,否则它很好,我不会做上述事情。

答案 1 :(得分:2)

  

我应该将main.js,style.css,header.php和footer.php分开,以便每个PHP页面加载正文函数所需的最小量?

您应该为整个网站创建一个css文件和ONE js文件。不要使用php文件充当css,因为:

  1. 如果您访问过的网站很多,最好有一个css和js文件。因为它是一个直接文件。但是当你通过php文件创建css或js时,php需要计算。也许您认为这是快速计算,但如果您需要在高访问网站上获得良好的表现,那就很重要。

  2. 如果您通过php创建css和js文件,有时您需要导入多个js或css文件。谁知道?也许它会让你在头部标签内使用10 js和10 css!这对SEO来说很糟糕。

  3. 不要担心一个css或js文件大小。它的尺寸越小越好,但你仍然可以在没有SEO问题的情况下创建100KB的css或js文件。

  4. 您可以为所有媒体提供一个css文件。包括打印。无论您使用多个文件还是单个文件,如果需要,请始终在同一文件中使用@media print{}

  5. 可以全局缓存一个css和js文件。即使您不需要css或js文件,全局css和js文件也已缓存。

  6. 我不是说一个css和js文件总是好主意,但它有最大的好处。

答案 2 :(得分:1)

<?php 
$filename = basename(__FILE__, '.php'); 
?>
<link rel="stylesheet" href="css/<?= $filename ?>.css" />

...

<script src="js/<?= $filename ?>.js"></script>

<强>缺点: 1.将每个CSS和JS文件命名为PHP文件。 2.每个PHP文件都应该有自己的CSS和JS文件

P.S :将所有样式和脚本最小化为只有一个文件可以更快地加载页面。

答案 3 :(得分:0)

是的,它是管理代码的好方法。要包含相同的页眉和页脚,您可以轻松添加/更新/删除菜单和其他功能,而无需编辑每个页面文件。