其实php也可以嵌入js和css代码中,用来生成动态的文件。这里的动态是指:js和css代码会依据实际情况而不同。
下面我们就来看一个页面的源码:
运行这个页面(当然你需要在开发环境下才能运行),点击页面上的按钮,输出的是:ccc。
但是我们如果将第一行的$bid = 1改成$bid = 2,页面输出的就是ddd了。看一下源代码就能很清楚地知道原理,在js代码中内嵌了php的语句。你可能会想到,如果我们要将js单独分离成一个文件,然后在页面中使用src的方式引入,这时候还能不能继续使用原来的方式呢?
接下来我们开始测试,编写一个php页面源代码如下:
import.js文件源码如下:
运行这个页面,我们看到浏览器会报错:
但是如果我们将import.js文件名改成import.php,同样还是使用src的方式引入这个文件,
<script type="text/javascript" src="./js/import.php"></script>
这时候页面运行正常。
这里我们总结一下:在script或者link标签的src属性值中,脚本的解析引擎是根据文件的扩展名来决定的。如果文件扩展名是.js,那这个文件的脚本就会由javascript的引擎来解析。所以我们编写的第二个文件,浏览器报错了,因为javascript引擎不识别php的语法。但是改成.php之后,一切又正常了,因为这时候脚本内容会先被php引擎解析然后再交给javascript引擎产生作用。
这就是使用php来动态生成js和css文件的基本原理。如果你熟悉wordpress或者一些主流的cms系统,一定可以发现很多开发者编写的模板文件都喜欢使用这种方式来编写动态网页。