要求php文件而不是链接到js和css是不好的做法吗?

Dav*_*ter 2 javascript css php require

我想把这些片段放在几个php文件中,然后在我的主页面中需要它们,而不是使用"纯"的css和js文件.我的意思是,我已经基本上为我的HTML DOM做了这个.

这个:

<script type='text/javascript'>
var foo = <?php echo $bar; ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

或这个:

<style type='text/css'>
.foo{
background-image:url('<?php echo $bar; ?>image.png');
}
</style>
Run Code Online (Sandbox Code Playgroud)

这是非常糟糕的做法吗?

如果是的话,这种方法的优点和缺点是什么?

更新:

这些天我只是使用Drupal来处理在主题系统中将PHP变量传递给js并支持像LESS和SASS这样的CSS预处理器.我在这个问题中提出的两个用例都可以通过现代框架/预处理器很好地处理.

Mar*_*rkR 5

将Javascript放在PHP解释器中可能不是一个好主意.同样,CSS

  • 它鼓励反模式使用服务器端代码编写客户端代码
  • 它使得单独测试JS和CSS变得更加困难(如果它们开始充满PHP代码)
  • 它使PHP输出更大
  • 客户端不会缓存页面的一部分,只会缓存整个对象

要扩展到最后一部分 - Javascript和CSS可以变大(与HTML相比).如果您有客户端浏览器缓存它们,则无需下载它们.

是的,包括在主文档中意味着没有单独的请求可以减少开销(特别是使用SSL),但客户端仍然需要下载文件.让它来自客户端缓存通常更快.

另一方面,你的代码

<script type='text/javascript'>
var foo = <?php echo $bar; ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

看起来它是一段数据,而不是Javascript代码,所以它可能会有所不同.您可能还想要正确地逃避$ bar.