百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

PHP基础知识讲座:第2课,如何在HTML页面中嵌入PHP代码

bigegpt 2024-10-12 07:00 9 浏览

积累点滴,汇成江海。咱们从最最基础的PHP知识开始学习,一步一个脚印的开启PHP的学习旅途吧。

请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习PHP编程知识,变身快乐的编程达人吧~

同学们好呀!木辛老师又来了。

咱们在开始PHP的学习之前,需要先准备一个可以提供PHP服务的Web服务器。我们就复用木辛老师专栏中的一个教程,使用Homestead本地开发环境进行学习呗。

传送门:《Laravel第一课:搭建Laravel开发环境

也可以关注木辛老师的Laravel专栏哟:

大家配置好本地开发环境以后,还需要稍微设置一下,针对这个项目,在Homestead配置文件中作如下设置,

添加指向当前项目根目录的配置:

sites:
 - map: learning_php.test to: /Code/zyoo/learning_php
 to: /Code/zyoo/learning_php

另外还需要在本机hosts文件中添加一个域名指向:

sudo vim /etc/hosts

并添加如下记录:

192.168.10.10 learning_php.test

最后,添加一个测试文件:

然后,打开浏览器,访问域名查看页面结果

大家可以看到,我们已经可以成功的访问到测试用的PHP文件了。

好了,万事俱备,只需要学习了。那么,咱们开始吧~

创建示例应用:木辛老师的图书馆

几乎绝大部分服务器端的脚本语言最初设计的应用场景之一就是处理HTML表单。木辛老师要翻出家底,将自己最心爱的在线图书商城,用来作为学习PHP基础知识的场景吧。

创建订购图书用的订单表单

通过这个表单页面,我们可以知道顾客订购的商品,订单的金额以及其他一些附属信息。HTML代码请看下方:

<html>
 <head>
 <title>木辛老师的PHP基础入门教程</title>
 </head>
 <body>
 <form action="processorder.php" method="POST">
 <table style="border: 0px;">
 <tr style="background: #cccccc">
 <td style="width: 150px;text-align:center;">图书名称</td>
 <td style="width: 50px;text-align:center;">数量</td>
 </tr>
 <tr>
 <td>PHP入门指南</td>
 <td><input type="text" name=“book_name_01" size="3" maxlength="3"/></td>
 </tr>
 <tr>
 <td>PHP和MySQL开发</td>
 <td><input type="text" name="book_name_02" size="3" maxlength="3"/></td>
 </tr>
 <tr>
 <td>Laravel入门</td>
 <td><input type="text" name="book_name_03" size="3" maxlength="3"/></td>
 </tr>
 <tr>
 <td colspan="2" style="text-align: center;">
 <input type="submit" value="提交订单"/>
 </td>
 </tr>
 </table>
 </form>
 </body>
</html>

咱么直接通过浏览器访问这个HTML页面,看看效果:

哈,简单的页面,我们已经开启Web开发神秘旅程了。继续加油!

大家可能注意到了一个细节:在html代码的form表单部分,action属性我们指向了一个php脚本:

<form action="processorder.php" method="POST”>

具体的PHP脚本的学习我们很快就能看到。这里只是稍微提一下,这个action属性值就是用户点击“提交订单”按钮时将要请求的URL。

用户在表单中输入的数据,会以POST的方式,发送给URL指向的PHP文件进行处理。

表单处理

那如何处理这个表单呢?又如何让PHP代码起作用的?

要处理这个表单,我们需要创建一个php文件,它的名字需要和form中action属性的值保持一致。

那么,我们就创建一个名字叫做processorder.php的文件吧。

代码可以先这么写,看看是否能起作用哈:

<html>
 <head>
 <title>订单处理结果</title>
 </head>
 <body>
 <h1> 木辛老师的在线图书馆</h1>
 <h2> 订单处理结果通知</h2>
 <?php echo '<p>订单已处理完成</p>'; // 这里是PHP的代码 ?>
 </body>
</html>

保持文件,并刷新页面。这个时候我们点击“提交订单”按钮,效果如下:

大家可以看到,红框部分就是通过PHP代码输出的结果。这样,我们就实现了通过Web方式执行了PHP代码的需求,这么一看PHP还是非常简单的吧。

我们顺便在看看这个页面的源代码吧,看一下PHP代码如何在HTML页面中完成任务的吧:

通过页面源码,我们发现刚才写的PHP代码已经不见了,取而代之的是

<p>订单已处理完成</p>

这是怎么回事呢?

这是因为PHP解释器在脚本运行的时候,将该脚本的输出替代了脚本自身的代码,通过这种方式,就可以生成可以在任何浏览器上运行的HTML页面了。也就是说,浏览器是不需要学会PHP的。

通过这段代码,我们可以学习一些PHP的基础知识:

  1. PHP标记
  2. PHP语句
  3. 如何空格
  4. 添加注释

PHP标记

第一种情况:在HTML中混写PHP和HTML代码,需要为php添加标记。PHP代码会以“<?php”作为开始,以“?>”作为结束。这些符号就叫做PHP标记,它们主要用来告诉服务器PHP代码的开始和截止,在这两个起止符号之间的任何代码,服务器都会以PHP语法来解析。

另一种情况:之后,我们写纯PHP的时候,每个文件也需要添加PHP标记。不过呢,结束标记可以省略,这也是很大一部分PHPer默认遵守的规则。

PHP语句

在PHP的开始和截止标记之间,就是PHP语句了,通过这些内容可以告诉PHP解释器应该进行如何的操作,在我们这个例子里,通过:

echo '<p>订单已处理完成</p>’;

使用echo语句完成了一个非常简单的操作,仅是将echo后边的字符串原样打印到浏览器中。这里需要特别注意的一点就是每个PHP语句后边都需要添加英文的分号作为语句的结束符,否则会出现错误,但是在这个html页面中,因为只有一句代码,忽略掉分号也是不会报错的。

但是还是强烈建议大家养成习惯:每句PHP代码结束都要以分号结尾哟!

空格

一般情况下,为了让代码更加清晰和整洁,在编码的过程中会添加一些空格,这些空格包括:回车换行、空格、制表符等都被认为是空格。

当然了,浏览器并不会在意你是否输入了空格,同样的PHP服务器端解析器也会忽略这些,这些空格仅是给编写代码的人看的。

但是,木辛老师还是再次强烈建议,在代码的适当位置添加空格或者空行,这样做可以很有效的提升代码的可阅读性,方便后期的维护工作。

注释

最后在讲讲注释,理论上在编程中出现频率非常高的一个知识点。

为什么说理论上呢,因为这么重要的一个要点,在实际开发中很容易被广大开发者忽略呢!

由于种种原因吧,开发者很不习惯在开发过程中写非常详尽的注释,而且有时候在Git提交时也是草草的一笔带过。这样做的后果就是,若干时间后,当你再次拿到这段代码,可能会花费更多的时间梳理它。

所以,善于写注释,也是提高生产效率的一种有效手段。

PHP解释器同样会在执行的时候忽略掉注释,也就是说就好比像空格一样,PHP解析器会跳过注释,它只负责执行PHP代码!

PHP脚本中的注释比较丰富,有很多类似C语言的风格,比如:

多行注释:

/* 这是
 一个
 多行
 注释
/*

可以看出来,多行注释以 /*开始,以*/结束。同样的和C语言是一样的,多行注释是不能嵌套的。

当然了,除了多行注释之外,也支持单行注释:

echo '<p>订单已处理完成</p>'; // 这里是PHP的代码

或者这种:

echo '<p>订单已处理完成</p>’; #这里是PHP的代码

不论采取哪种风格的注释,在注释符号之后的所有内容,PHP解释器都会认识不需要处理的,这一点一定要注意呀!

好了,今天的课程咱就先讲到这里。

小朋友们不要忘记关注我们哟 ,下期课程更精彩,请大家一起期待吧~

快乐编程,快乐成长,拜拜!

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...