前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在 HTML 中嵌入 PHP 代码

在 HTML 中嵌入 PHP 代码

作者头像
学院君
发布于 2020-05-28 03:34:43
发布于 2020-05-28 03:34:43
6.6K00
代码可运行
举报
文章被收录于专栏:学院君的专栏学院君的专栏
运行总次数:0
代码可运行

PHP 与 HTML

PHP 天生对 Web 和 HTML 友好,在 PHP 诞生之初,主要用于在 Web 1.0 中构建个人主页,那个时候,PHP 代表的是 Personal Home Page,随着 Web 互联网的发展,在 Web 2.0 时代,PHP 进一步进化为 PHP:Hypertext Preprocessor,即超文本处理器,而 HTML 则是 HyperText Markup Language 的缩写,也就是超文本标记语言。

一个是标记语言,一个是处理器,可见二者之间的渊源,它们之间的关系甚至亲密到可以直接混合在一起进行编程,PHP 脚本在 HTML 文档中只是一种特殊标记而已,并且可以在 HTML 文档中直接编写任何 PHP 脚本代码,然后将文档保存为 .php 文件,就可以被 PHP 解释器解析和执行。

下面我们就来看看如何基于 PHP + HTML 进行混合编程。

注:以下教程基于 Mac + PhpStorm 进行演示,Windows 环境流程完全一致,不再重复介绍。

创建新文件

在上篇教程创建的 php_learning 项目中,新建一个 HTML 文件,我们将基于这个 HTML 模板编写 PHP 代码:

在 PhpStorm 中新建 HTML 文件

然后在弹出窗口选择新建一个 HTML 5 文件,将文件名设置为 hello

新建 HTML 5 模板文件

创建完成后,选中新建的 hello.html,点击鼠标右键,在下拉菜单选择 Refactor->Rename 对该文件进行重命名:

在 PhpStorm 中进行文件重命名

这里,将文件后缀名修改为 .php 即可,点击「Refactor」按钮确认修改:

在 PhpStorm 中进行文件重命名

至此,我们就基于 PhpStorm 自带的 HTML 5 模板新建了一个包含完整 HTML 结构骨架的 PHP 文件。

编写 HTML 代码

hello.php 中,将文档标题修改为 Hello,然后在 <body></body> 之间新增一个 h1 标签,内容设置为 你好,PHP!,和上篇教程打印的欢迎语句一致:

在 PhpStorm 中编写 Html 代码

通过 php -S localhost:9000 启动 PHP 内置的 Web 服务器(已启动忽略),在浏览器中访问 http://localhost:9000/hello.php,返回结果如下:

查看页面渲染结果

表明 PHP 解释器无需任何额外设置即可原生支持解析纯 HTML 文档。

在 HTML 中嵌入 PHP 代码

接下来,我们在 hello.php 中,将上一步 <h1></h1> 之间的 HTML 文本替换成 PHP 代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<h1><?php echo "你好,PHP!";?></h1>
</body>
</html>

这段 PHP 代码的作用和之前 HTML 文本的渲染结果完全一致,都是打印「你好,PHP!」,这里需要注意的是在 HTML 文档中嵌入 PHP 代码需要将 PHP 代码放到 <?php?> 之间,并且末尾的 ?> 不能省略,在包含纯 PHP 代码的文件中,最后的 ?> 可以省略(并且最好不要设置,以免在引入其他 PHP 文件时出现问题,关于这一点,后面学院君会介绍原因),这一点我们在上篇教程中已经看到了。

在浏览器中刷新 http://localhost:9000/hello.php(PHP 是动态语言,无需编译即可生效),即可看到如下效果,和之前 HTML 文本渲染效果完全一致:

查看页面渲染结果

此外,对于 <?php echo expression;?> 这种格式的打印语句,PHP 还提供了形如 <?=expression?>这种简写标签(其中 expression 表示一段 PHP 表达式),所以对于上面的 PHP 代码,可以通过如下这种方式简写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?="你好,PHP!"?></h1>

渲染效果和之前完全一致。

应用 CSS 样式表

为了让 HTML 页面渲染效果更好看一些,我们还可以为包裹 PHP 代码的 HTML 标签应用 CSS 样式。

hello.php</head> 之前,新增如下样式代码,为 h1 标签设置背景色、字体颜色、间距以及对齐方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
    <style>
        h1 {
            background-color: #f4645f;
            color: #fff;
            padding: 1em;
            text-align: center;
        }
    </style>
</head>
<body>
<h1><?="你好,PHP!"?></h1>
</body>
</html>

在浏览器中刷新 http://localhost:9000/hello.php,即可看到如下渲染效果:

查看页面渲染结果(应用CSS)

表明应用 CSS 样式表成功。

应用 JavaScript 动态代码

既然是作用在 HTML 标签上,支持 CSS,当然也支持 JavaScript,我们在 hello.php 中,为 h1 标签新增一个 id 属性,然后在 </body> 之前编写一段 JavaScript 代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
    <style>
        h1 {
            background-color: #f4645f;
            color: #fff;
            padding: 1em;
            text-align: center;
        }
    </style>
</head>
<body>
<h1 id="h1"><?="你好,PHP!"?></h1>
<script>
    var h1Element = document.getElementById("h1")
    h1Element.onclick = function () {
        alert("该页面由学院君通过 PHP + HTML 实现");
    }
</script>
</body>
</html>

这段 JavaScript 代码的作用是点击 h1 标签区域时,弹出一个提示框,显示作者信息。

在浏览器中刷新 http://localhost:9000/hello.php,即可看到如下渲染效果:

查看页面渲染结果(应用 JavaScript)

表明 JavaScript 代码生效。

小结

由此可见,在 PHP 文件中,既可以编写纯 PHP 代码,也可以混合 HTML + PHP 代码进行编程(在 HTML 中嵌入 PHP 代码需要通过完整的 <?php?> 进行包裹)。在混合 HTML 的 PHP 文件中,还可以引入 CSS、JavaScript 代码让渲染效果和页面功能更加丰富,这些在 PHP 中都是原生支持的,不需要引入任何额外的设置、扩展包,并且 PHP 本身是动态解释型语言,代码修改无需编译即可立即生效,所以在 Web 开发中非常高效。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客书房 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
编写高性能HTML网页应用
你怎么能提高网页性能?   大多数开发者会通过JavaScript和图片来优化,通过服务器配置,压缩文件和合并文件 - 甚至调整CSS(合并小图片)。   可怜的HTML老是被忽视,尽管它一直是网络的核心语言。   HTML正在变得越来越大。排名前100的网站每个HTML页面大多在40K左右。亚马逊和雅虎使用上千个HTML页面。在youtube.com主页面,HTML元素高达3500个。   减少的HTML复杂性和一个页面的元素数量并不会明显提高解析时间 - 但HTML是构建极速网页,和适应不同设备并影响
用户1667431
2018/04/18
2K0
编写高性能HTML网页应用
如何编写简练清晰的HTML代码?
如何提升 Web 页面的性能,很多开发人员从多个方面来下手如 JavaScript、图像优化、服务器配置,文件压缩或是调整 CSS。 很显然 HTML 已经达到了一个瓶颈,尽管它是开发 Web 界面必备的核心语言。HTML 页面的负载也是越来越重。大多数页面平均需要40K的空间,像一些大型网站会包含数以千计的 HTML 元素,页面Size会更大。 如何有效的降低 HTML 代码的复杂度和页面元素的数量,本文主要解决了这个问题,从多个方面介绍了如何编写简练,清晰的 HTML 代码,能够使得页面加载更为迅速,且
用户1667431
2018/04/18
1.9K0
简明PHP进阶【4-HTML 和 CSS】
HTML的英文全称是 Hypertext Marked Language,即超文本标记语言。
Lemon黄
2019/10/08
5550
简明PHP进阶【4-HTML 和 CSS】
1.2.HTML的核心标签
序号 标签 标签解释 1 <head> 定义关于文档的信息 2 <title> 定义文档标题 3 <base> 定义页面上所有链接的默认地址或默认目标 4 <link> 定义文档和外部资源的关系 5 <meta> 定义关于html文档的元数据 6 <script> 定义客户端脚本 7 <style> 定义文档的样式信息
全栈程序员站长
2022/07/19
7020
编写第一个 PHP 程序
有了 PHP 开发环境和代码编辑器,今天我们来编写第一个 PHP 程序,很简单,就是打印一段字符串而已,但是所有编程语言的入门都是从这里开始的,通过这个简单的字符串打印,我们可以了解 PHP 程序的执行流程以及基本语法,并由此叩开 PHP 编程的大门。
学院君
2020/05/27
1.6K0
你不可不知的HTML优化技巧
如何提升Web页面的性能,很多开发人员从多个方面来下手如JavaScript、图像优化、服务器配置,文件压缩或是调整CSS。 很显然HTML 已经达到了一个瓶颈,尽管它是开发Web 界面必备的核心语言。HTML页面的负载也是越来越重。大多数页面平均需要40K的空间,像一些大型网站会包含数以千计的HTML 元素,页面Size会更大。 如何有效的降低HTML 代码的复杂度和页面元素的数量,本文主要解决了这个问题,从多个方面介绍了如何编写简练,清晰的HTML 代码,能够使得页面加载更为迅速,且能在多种设备中运行良
葡萄城控件
2018/01/10
1.4K0
你不可不知的HTML优化技巧
其他html元素和属性
disabled:标识元素不可用,就是用户不可互动,比如 button 的 disabled,就是按钮不能点击
鹤川
2023/03/21
7720
HTML入门与进阶以及HTML5_html 菜鸟教程
HTML入门与进阶以及HTML5_html 菜鸟教程目录一、简介1、前端开发最核心技术(1)HTML是什么?(2)CSS(3)JavaScript2、前端开发其他技术二、基础内容1.基础总结2.HTML的基本标签(1)HTML标签(2)head标签(3)body标签3、段落与文字(一)、段落标签(二)、网页特殊符号(三)、自闭合标签(四)、块元素和行内元素(五)、练...
Java架构师必看
2022/05/10
4.2K0
HTML入门与进阶以及HTML5_html 菜鸟教程
Day1:html和css
浏览器内核:浏览器分两个部分,一个是渲染引擎(layout engineer 或者 Rendering Engine)和js引擎.
达达前端
2019/07/03
1.1K0
Day1:html和css
【Web前端】HTML样式 - CSS
HTML 用于创建网页的结构。网页的所有内容,例如文本、图像、链接、表单等,都是通过 HTML 标签来定义的。以下是一个简单的 HTML 文档结构示例:
一条晒干的咸鱼
2024/11/19
1850
【Web前端】HTML样式 - CSS
HTML
浏览器(browser application)是用来访问和浏览万维网页面的客户端软件,是显示、运行网页的平台。
用户9615083
2022/12/25
3.8K0
HTML
【JavaWeb】二、HTML 入门
HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)和JavaScript是构建网页和Web应用程序的三个核心技术。它们各自扮演着不同的角色,共同协作以提供丰富、动态和交互式的用户体验。
用户11332765
2024/10/28
1470
HTML 渲染那些事儿
最近一段时间刚好在公司内部涉及一些老旧项目的优化,所以对于 Web 网页性能方面沉淀了一些自己的看法。
19组清风
2023/04/23
1.5K0
HTML 渲染那些事儿
HTML(初级)笔记
元素 + "HTML 标签" 和 "HTML 元素" 通常都是描述同样的意思. + 但是严格来讲, 一个 HTML 元素包含了开始标签与结束标签, + 元素组成:起始标签+元素内容+结束标签
Yuyy
2022/09/19
7150
HTML(初级)笔记
01 . 前端之HTML
HTML(Hyper Text Markup Language)超文本标记语言,它不同于编程语言
iginkgo18
2020/09/27
1.7K0
01 . 前端之HTML
前端进阶笔记之核心基础知识---那些HTML标签你熟悉吗?
提到HTML标签,我们会非常熟悉,开发中经常使用。但我们往往关注更多的是页面渲染效果及交互逻辑,也就是对用户可见可操作的部分,比如表单、菜单栏、列表、图文等。其实还有一些非常重要却容易忽视的标签,这些标签大多数用在页面头部head标签内,虽然对用户不可见,但如果在某些场景下,比如交互实现、性能优化、搜索优化,合理利用它们可以让我们在开发中达到事半功倍的效果。
tandaxia
2020/06/30
7660
前端进阶笔记之核心基础知识---那些HTML标签你熟悉吗?
HTML——学习笔记
HTML不是一种编程语言,它是一种超文本标记语言(Hyper Text Markup Language),标记语言是一套标记标签(Markup tag),浏览器通过HTML标记标签来构造描述我们访问的网页。
IMWeb前端团队
2019/12/03
9830
HTML——学习笔记
HTML基础
HTML基础 ---- HTML基本知识与结构 HTML常见标签 标签写法与嵌套的讨论 HTML、CSS、javascript三者的关系 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。 JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的
用户1667431
2018/04/18
3.9K0
HTML基础
HTML全标签语法总结——前端从入门到学废
HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它定义了网页内容的含义和结构。除 HTML 以外的其它技术则通常用来描述一个网页的表现与展示效果(如[CSS]),或功能与行为(如 [JavaScript])。
JanYork_简昀
2024/03/07
8670
HTML全标签语法总结——前端从入门到学废
html初识
浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、猎豹浏览器、Safari和Opera等
py3study
2018/08/03
1.8K0
相关推荐
编写高性能HTML网页应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验