PHP在html(或其他Web文件)中内联时会发生什么?

时间:2015-04-10 06:09:59

标签: javascript php jquery html dom

我是网络开发的新手。我已经谷歌问了这个问题但没有找到结果。首先,请考虑以下代码:

<p id="par">Hello World</p>

如果您有PHP设置,则以下内容有效:

<p id="par"><?php echo "Hello World";?></p>

两者都产生相同的结果,但我记得PHP代码是在服务器中执行的,因此出现了关于代码执行的以下问题:

首先从服务器检索<p></p>元素,而某些后台ajax进程等待“Hello World”?

我真的很想知道,所以我可以制作更可预测的代码。困扰我的另一个可能的情况是使用javascript和/或jQuery:

$(document).load(function(){
   $("#foo").width($("#par").width());
});

引发了一个问题,它是等待PHP服务器请求芬兰语还是只是加载页面因此,一些代码需要对上面<p>元素的大小作出反应将是一个错误?

再次,原谅初学者的问题。

2 个答案:

答案 0 :(得分:1)

PHP它是服务器端程序语言。在返回客户端之前,所有代码都将在服务器上处理。

我相信你的情况JavaScript是客户端的一部分。所以。 PHP将首先生成HTML。然后浏览器加载HTML(已经使用&#34; Hello World&#34;)和Javascript。最后,Javascript将可以访问#foo DOM元素。

但是在HTML之前加载Javascript时可能会出现这种情况。在这种情况下 $("#foo").width($("#par").width())将不执行任何操作或抛出错误,因为尚未存在#par元素。要解决此问题,您必须确保在加载所有HTML后Javascript开始工作。为此,您可以使用:

   $(document).load(function() {
          $("#foo").width($("#par").width())
   });

我希望这会对你有所帮助。

答案 1 :(得分:0)

确定您一直在浏览器栏中输入网址并按Enter键,您的浏览器正在向服务器生成请求http。

所以例如:

www.example.com/ - &gt;向example.com服务器询问index.html这是一个文本。

当你有类似的东西: www.example.com/test.php - &gt;再次只是转换文本中的所有PHP并返回该文本。

您可以在Firebug的“网络”标签上看到此内容,例如

所以PHP只是直接线性地为你生成html代码。

关于你的问题:

不,它不会被窃听。如果你分析从两个案例中收到的html代码,你会发现它们是完全相同的。