php文件和Html代码的关系?

在教学视频里看见直接把一个html文件后缀改成了php,然后就可以在里面写php代码了,html文档开头不是有个申明文件类型的语句<! DOCTYPE html>吗,二者的关系是什么?
比如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!</title>
</head>
<body>
        <ul>      
          <li><a href="#">手机京东</a></li> 
          <?php  $name = 'jingdong'; echo $name ?>
          <li><a href="#">网站无障碍</a></li>
        </ul>
  
</body>
</html>

以上代码整个可以写在php后缀文件里吗?也就是php文件可以写html代码,也可以用<! DOCTYPE html>?这整个文档都是在服务器解析的再传给浏览器吗?
如果文件后缀不改,还是Html,里面写一段php代码有意义吗?

阅读 2.9k
4 个回答

你可以这样理解:

1.html就是浏览器认识的文件,直接给浏览器执行即可

2.php文件,里面有很多浏览器不认识的东西,你写完以后,会交给php服务器进行解析(也就是根据php语法,比如变量变成最终的字符串内容等),然后变成纯粹的html文件,最后才给浏览器执行

总结:PHP相当于是浏览器获取的最终html多了一个前置的处理,而这个前置的处理,你恰好可以按照自己的喜好友好的对html内容进行调整

  • 首先,这个 php 文件会被服务器处理,里面的表达式 <?php $name = 'jingdong'; echo $name ?> 会被执行,最终生成 html 文件,返回给浏览器。
  • 这样做的目的:在服务器端,根据事件和数据,生成对应的 html 内容。
  • 其实和现在的 vuereact 类似,只不过 vue 是通过 ajax 去服务器拿到数据,然后在前端去生成 html

一般流程是这样的:
在浏览器访问http://test.com/index.php,然后到了php服务器,php就会返回首页的内容。

但就像你说的那样,如果直接把html代码拷贝到php文件中,那php实际上没写什么代码逻辑,而是直接返回拷贝的html内容给浏览器。

但这种直接拷贝和不写php代码逻辑的做法,是不太好的,没发挥php的作用。
比如内容是动态计算的,那就需要借助php了。比如你代码中的$name

你没试试不改文件后缀,直接在html里写php代码么?建议你试下,或许你会惊奇的发现也能执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题