Preface 前 言
网络为我们打开了一扇神奇的大门,通过一个个网站,可以畅游世界并获取无尽的资
源。那么,这些网站都是怎么实现的呢?本书将和读者一起探索!
本书内容
网站相关的开发技术有很多,相信读者也会有一些了解,本书则涉及了五种基本的开发
技术,包括HTML、CSS、JavaScript、PHP和数据库。
学习网站开发时,能够自己动手创建基础代码,并在各种环境下通过不同的浏览器进行
测试是非常有帮助的。本书第1章介绍如何在Windows系统中创建网站的开发和测试环境,
包括PHP的配置、如何使用IIS或Apache HTTP Server运行PHP网站,以及MariaDB数据
库的安装和配置等。
网站服务器端开发技术,通常也称为“动态页面技术”,常用的有PHP、ASP.NET、JSP
等。本书使用PHP进行服务器端的开发工作,这是一款开源的开发和运行环境,有大量功
能强大的内置模块和第三方开发资源。
第2章介绍了如何在页面中添加PHP代码,以及PHP编程的基本概念,如语句、函
数、变量、常量、注释等。
第3章介绍了PHP中的数据处理。应用型软件中最基本的功能就是对数据的处理,而
PHP中的数据处理是非常灵活的,该章介绍了PHP中的基本数据类型、数据的运算、字符
串操作等内容,并讨论了如何使用数学模块进行数据计算和统计工作。
第4章介绍了PHP中的比较运算、?:运算符、条件语句、switch语句、循环语句,以
及错误控制和代码终止等内容。
第5章介绍了PHP中代码封装的基本形式——函数,包括如何定义和调用函数、函数
的参数、函数的动态操作等。
第6章介绍了另一种代码封装形式——面向对象编程(Object Oriented Programming,
OOP),包括类与对象的基本概念,如何定义类和对象、如何使用类和对象的各种成员,以
及魔术方法、继承、抽象类的应用等。此外,还讨论了接口类型、对象序列化和动态操作等
内容。
第7章介绍了如何有效地管理PHP代码,包括如何通过命名空间组织代码、代码文件
的自动载入机制等。
第8章介绍了PHP编程中一个强大的工具——数组。包括数组的定义和基本应用、如
何在数组和变量之间转换、如何分割和组合、如何排序和计算,以及多维数组的应用等。
第9章讨论了在PHP中如何操作日期和时间信息、时区设置和格式化等内容,并分别
通过函数和面向对象资源进行操作。
第10章介绍了PHP中如何操作文件系统,如磁盘、目录和文件的操作,讨论了文件权
限、信息获取、读写文件、临时文件,以及Zip压缩文件的操作等。
第11和12章讨论了MariaDB的应用,包括数据库、表、记录操作、索引、数据查询、
连接、联合、视图、触发器等一系列操作,并讨论了如何在PHP项目中访问数据库,以及
如何使用数据库帮助开发者更有效地管理和维护项目数据。
第13章介绍PHP中使用GD模块处理图形图像,包括如何创建图像、保存和发送图
像,以及图形的绘制、旋转、翻转等操作。
第14章介绍了开发PHP网站时需要的一些常用资源,如通过$_SERVER数组获取客
户端和服务器的信息,通过$_SESSION数组保存会话数据,通过$_GET、$_POST和$_
REQUEST数组获取客户端提交的数据,通过header()函数发送报文头等操作。
第15章介绍如何使用第三方资源PHPMailer进行邮件的发送,方便在Web应用中实现
系统邮件发送等功能。
通过浏览器的查看源代码功能可以看到,一方面,页面在客户端呈现的代码主要包
括HTML和CSS,这也是静态网页的基本构建技术。而浏览器中执行的另一种代码是
JavaScript脚本,用于在客户端执行应用逻辑,通过它可以实现很多功能,如操作页面元素、
通过Ajax在后台与服务器交流等。另一方面,将一些逻辑代码放在客户端执行,可以有效
地分担服务器和网络传输压力,对提高网站的整体性能是有帮助的。
第16章介绍了HTML和CSS的应用。作为前端开发的核心,HTML和CSS可以将获
取的资源以多种形式呈现给用户,其中,HTML定义了页面的结构和内容,CSS定义了页面
的布局方式和元素的样式。该章会介绍HTML和CSS的应用基础,包括布局和定位、文本
和段落、链接、图片、列表、表格等内容,并讨论了HTML5和CSS3标准中的一些新变化。
第17章讨论了JavaScript开发基础,包括数据处理、流程控制、函数、面向对象编程、
数组、字符串、编码、日期和时间、数学计算、计时器,以及Ajax、DOM、客户端数据存
储等内容。
以上章节讨论了HTML、CSS、JavaScript、PHP、MariaDB等技术的基础应用,接下来
的章节会讨论这些技术的综合应用,这些都是在网站开发中常用的功能和模块。
第18章介绍了表单(form)的处理,包括如何定义HTML表单和其中的数据字段、如
何在服务器端使用PHP处理表单提交的数据,并对常用的服务器端和客户端代码进行封装。
第19章介绍了正则表达式的应用。首先介绍了模式的定义,然后讨论了PHP和
JavaScript中如何通过正则表达式更加高效地处理文本内容,并对常用的模式进行封装。
第20章介绍了服务器和客户端之间交换数据的常用格式,包括Excel、CSV、XML和
JSON数据的处理。
第21章讨论了文件上传的相关操作,包括文件上传表单的创建,以及如何处理上传文
件、如何同时上传多个文件、如何管理上传文件等。
第22章讨论了如何通过JavaScript操作高德地图,如添加标记、地图控件、距离测量
工具等内容。
第23章介绍了PHP 8的安装和应用,并讨论了PHP 8编程语言方面的新变化,包括命
名参数、在构造函数中声明属性、空值安全运算符、联合类型、match表达式等。
此外,由于篇幅所限,书稿中的一些内容会在扩展阅读中提供,主要包括:
zz
开发资源的封装,如tMariaDb类、tExcel类、tMail类、表单操作代码封装等。
zz
使用BOM(浏览器对象模型)操作浏览器,包括如何动态创建和关闭浏览器窗口、
处理浏览操作、获取浏览器信息、获取屏幕信息等。
zz
HTML5中新增的canvas元素的应用,如何通过JavaScript编程实现客户端的图形图
像绘制操作。
zz
用户模块的实现,包含注册、登录、修改密码、重置密码、上传图像、退出登录等
功能,并演示了数据库、验证码、系统邮件等一系列技术的综合应用。
zz
创建树状视图组件,并通过树状视图和其他技术的综合应用实现用户权限的管理
功能。
zz
实现数据搜索和分页浏览功能。
zz
一个完整的项目——快速问卷调查与数据统计。该项目综合演示了数据库、表单数
据处理等功能,并介绍了基本的统计方法,以及它们在数据库和PHP中的实现,最
后通过水平条形图显示统计结果。
关于扩展阅读的内容,可以扫描二维码获取。
本书特点
zz
全方位讨论Web开发技术。本书内容构成的主要思路是,如何从基础代码一步步实
现Web项目,并结合客户端和服务器技术特点,全面把握Web项目开发。其中包括
Web开发的基础技术,如HTML、CSS、JavaScript、动态页面技术(PHP)和数据库,
结合这些技术的综合应用,进一步讨论了如何灵活、高效地实现Web项目。
zz
实用性强。本书包含了HTML、CSS、JavaScript、PHP及数据库等内容,囊括标准
的代码、各种功能的实现,多角度讨论了Web技术的综合应用,其中包含大量的实
践代码,这些代码可以在项目中直接使用,也可以根据需要修改使用。更重要的是,
对于应用功能不同实现方法的讨论更能引起我们的思考,为迎接更多的挑战做好准备。
读者对象
本书面向所有需要了解Web全栈开发的朋友,无论是网站开发的初学者,还是从事
Web项目的开发者,都能从中了解到HTML5、CSS3、JavaScript、PHP等技术为Web项目
开发带来的新变化。
如何使用本书
本书涉及HTML、CSS、JavaScript、PHP、MariaDB数据库等一系列Web开发相关技术,
学习过程中,可以按顺序一步步深入,全面掌握各种技术特点,实践和工作中,也可以按技
术与功能分类快速参考相关主题。
勘误和支持
由于作者水平有限,书中难免会出现一些错误,而读者的批评、指正,则是我们共同进
步的强大动力。读者可以就书中的错误和建议与作者或编辑交流,也可以在作者的个人网站
(http://caohuayu.com)找到已有问题的勘误和说明。
关于源代码,可以扫描二维码获取。
致谢
感谢清华大学出版社编辑老师耐心的交流和指导,本书才能顺利与读者见面。感谢家
人对我的支持和理解,你们为我创造了一个温馨的生活和工作环境,让我有更多的时间来
写作。
谨以此书献给热爱软件开发的朋友,以及支持我的每一个人!
曹化宇
2021年3月