当 PHP 内嵌在 html(或其他网络文件)中时会发生什么?
What happens when PHP is inlined in html (or other web files)?
我是网络开发的新手。我已经 google 找到了问题,但没有找到结果。首先,考虑以下代码:
<p id="par">Hello World</p>
如果您有 PHP 设置,则以下内容有效:
<p id="par"><?php echo "Hello World";?></p>
两者产生相同的结果,但我记得是 PHP 代码是在服务器中执行的,因此有关代码执行的问题如下:
是否首先从服务器检索 <p></p>
元素,而某些后台 ajax 进程等待 "Hello World"?
我真的很想知道,这样我就可以编写更可预测的代码。另一种可能困扰我的情况是使用 javascript and/or jQuery:
$(document).load(function(){
$("#foo").width($("#par").width());
});
这引发了一个问题,它是等待 PHP 服务器请求完成还是只加载页面,因此,一些代码需要对 <p>
元素的大小做出反应以上会是一个错误吗?
再次请教初学者问题
PHP是服务端程序语言。所有代码将在 return 到客户端之前在服务器上处理。
我相信你的情况 JavaScript 是客户端部分。所以。
PHP 将首先生成 HTML。然后浏览器加载 HTML(已经有 "Hello World")和 Javascript。最后 Javascript 将可以访问 #foo
DOM 元素。
但这里可能是 Javascript 在 HTML 之前加载的情况。在这种情况下
$("#foo").width($("#par").width())
将不执行任何操作或抛出错误,因为尚不存在#par 元素。要解决此问题,您必须确保 Javascript 在所有 HTML 加载后开始工作。为此,您可以使用:
$(document).load(function() {
$("#foo").width($("#par").width())
});
希望对您有所帮助。
好的,只要您在浏览器栏中键入 url 并按回车键,您的浏览器就会生成一个到服务器的 http 请求。
例如:
www.example.com/ -> 向 example.com 服务器请求页面 index.html,这只是文本。
当你有这样的事情时:
www.example.com/test.php -> 同样只是转换文本中的所有 php 并返回该文本。
例如,您可以在 Firebug 的“网络”选项卡上看到此内容。
所以 PHP 只是为您线性地生成 html 代码。
关于你的问题:
不,它不会被窃听。如果您分析从这两个案例中收到的 html 代码,您会发现它们是相同的。
我是网络开发的新手。我已经 google 找到了问题,但没有找到结果。首先,考虑以下代码:
<p id="par">Hello World</p>
如果您有 PHP 设置,则以下内容有效:
<p id="par"><?php echo "Hello World";?></p>
两者产生相同的结果,但我记得是 PHP 代码是在服务器中执行的,因此有关代码执行的问题如下:
是否首先从服务器检索 <p></p>
元素,而某些后台 ajax 进程等待 "Hello World"?
我真的很想知道,这样我就可以编写更可预测的代码。另一种可能困扰我的情况是使用 javascript and/or jQuery:
$(document).load(function(){
$("#foo").width($("#par").width());
});
这引发了一个问题,它是等待 PHP 服务器请求完成还是只加载页面,因此,一些代码需要对 <p>
元素的大小做出反应以上会是一个错误吗?
再次请教初学者问题
PHP是服务端程序语言。所有代码将在 return 到客户端之前在服务器上处理。
我相信你的情况 JavaScript 是客户端部分。所以。
PHP 将首先生成 HTML。然后浏览器加载 HTML(已经有 "Hello World")和 Javascript。最后 Javascript 将可以访问 #foo
DOM 元素。
但这里可能是 Javascript 在 HTML 之前加载的情况。在这种情况下
$("#foo").width($("#par").width())
将不执行任何操作或抛出错误,因为尚不存在#par 元素。要解决此问题,您必须确保 Javascript 在所有 HTML 加载后开始工作。为此,您可以使用:
$(document).load(function() {
$("#foo").width($("#par").width())
});
希望对您有所帮助。
好的,只要您在浏览器栏中键入 url 并按回车键,您的浏览器就会生成一个到服务器的 http 请求。
例如:
www.example.com/ -> 向 example.com 服务器请求页面 index.html,这只是文本。
当你有这样的事情时: www.example.com/test.php -> 同样只是转换文本中的所有 php 并返回该文本。
例如,您可以在 Firebug 的“网络”选项卡上看到此内容。
所以 PHP 只是为您线性地生成 html 代码。
关于你的问题:
不,它不会被窃听。如果您分析从这两个案例中收到的 html 代码,您会发现它们是相同的。