猜你喜欢
零基础PHP学习笔记

零基础PHP学习笔记

书籍作者:明日科技 ISBN:9787121402661
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2666
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书以初学者为对象,通过学习笔记的方式,系统地介绍了使用 PHP 语言进行程序开发的各种技术。全书共 15 章,包括的知识点有 PHP 集成开发环境、变量、常量、操作符与表达式、流程控制语句、数组、类、 系统函数、正则表达式、表单、Cookie 与 Session、MySQL 数据库的操作、异常处理、文件操作、图形图像、AJAX 技术、ThinkPHP 框架、商城的开发。全书内容丰富翔实,囊括了初学者必备的知识点,语言描述、示例讲解通俗易懂,结合学习中经常出现的各种问题和需要提示的要点与重点,用学习笔记的形式进行了提炼和总结,适合读者自学。

前言
前言 

PHP的英文全称是“ Hypertext Preprocessor”(超文本预处理语言)。它是在服务器端执行的脚本语言。与 C语言类似,PHP是常用的网站编程语言。 
PHP语言主要有以下特点。
(1)开源性和免费性。由于 PHP解释器的源代码是公开的,所以安全系数较高的网站可以自己更改 PHP的解释程序。另外,PHP运行环境的使用也是免费的。

(2)跨平台性强。 PHP的解释器是开源的,能够在所有操作系统平台上稳定运行,这使 PHP成为常用的服务器语言。

(3)快捷性。 PHP是一门非常容易学习和使用的语言,它的语法特点类似于 C语言,但没有 C语言复杂的地址操作。而且, PHP语言加入了面向对象的概念,再加上它具有简捷的语法规则,使操作编辑非常简单,实用性很强。

(4)面向过程方法和面向对象方法并用。在 PHP的使用中,不仅可以分别使用面向过程方法和面向对象方法,还可以将面向过程方法和面向对象方法一起混用,这是其他编程语言做不到的。

(5)运行高效性。由于 PHP运行在相应的平台解释器上,消耗系统资源比较少,运行环境简单,所以效率很高。

(6)数据库连接广泛性。 PHP可以与很多主流的数据库建立连接,如 MySQL、 ODBC、Oracle、AdabasD、S等。PHP是利用编译的不同函数与这些数据库建立连接的, PHPLIB就是常用的为一般事务提供的基库。因此, PHP一直受到广大编程人员的青睐,是编程初学者进行 Web开发的首选程序设计语言。


本书内容
本书以初学者为对象,通过学习笔记的方式,系统地介绍了使用 PHP语言进行程序开发的各种技术。本书提供了从入门到编程高手所必备的各类知识,本书共 15章,大体结构如下。


本书特点
由浅入深,循序渐进。本书以初、中级程序员为对象,让他们先从PHP语言基础学起,再学习如何使用PHP语言进行Web交互开发及数据库开发等高级技术,最后学习开发一个完整的项目。讲解过程中步骤详尽,版式新颖,读者在阅读时一目了然,从而快速掌握书中内容。
教学视频,讲解详细。书中每一章节均提供声图并茂的教学视频。这些视频能够引导初学者快速入门,增强进一步学习的信心,从而快速成为编程高手。
实例典型,轻松易学。通过实例学习是非常好的学习方式,本书通过“一个知识点、一个实例、一个结果”的模式,透彻详尽地讲述了实际开发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中的关键代码都提供了相应的注释。
学习笔记,学记无忧。本书根据需要在各章安排了学习笔记栏目,让读者可以在学习过程中轻松地理解相关知识点及概念,快速掌握个别技术的应用技巧。
读者对象
初学编程的自学者。			   编程爱好者。
大中专院校的教师和学生。		   相关培训机构的教师和学员。
毕业设计的学生。			   初、中级程序开发人员。
程序测试及维护人员。			   参加实习的“菜鸟”程序员。
读者服务
为了方便解决本书疑难问题,我们提供了多种服务方式,并由作者团队提供在线技术指导和社区服务,服务方式如下。
服务网站:www.mingrisoft.com 
服务邮箱:[email protected] 
企业 QQ:4006751066 
QQ 群:706013952 
服务电话:400-67501966、0431-84978981
致读者
本书由明日科技Web开发团队组织编写,主要人员有何平、王小科、申小琦、赵宁、李菁菁、张鑫、周佳星、王国辉、李磊、赛奎春、杨丽、高春艳、冯春龙、张宝华、庞凤、宋万勇、葛忠月等。在编写过程中,我们以科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。
感谢您购买本书,希望本书能成为您编程路上的领航者。
祝读书快乐!  
目录
目 录 
第一篇? 基础篇 
第 1 章 PHP 起步 1 
1.1 搭建 PHP 开发环境  1 
1.1.1 phpStudy 的下载与安装  1 
1.1.2 PHP 服务器的启动与停止 . 3 
1.1.3 phpStudy 的常用设置 .. 5 
1.2 PhpStorm 的下载与安装  6 
1.2.1 PhpStorm 的下载  6 
1.2.2 PhpStorm 的安装  8 
1.3 PhpStorm 的基本操作 . 14 
1.3.1 创建 PHP 项目 . 14 
1.3.2 打开已有项目 .. 16 
1.3.3 在项目中创建文件夹和文件  17 
1.4 PhpStorm 的常用设置 . 21 
1.4.1 设置文件编码格式  21 
1.4.2 其他常用设置 .. 22 
1.5 小结 . 22 
第 2 章 PHP 语言基础 23 
2.1 PHP 标记风格 .. 23 
2.2 PHP 注释的应用  24 
2.3 PHP 的数据类型  26 
2.3.1 数据类型  26 
2.3.2 数据类型转换 .. 27 
2.3.3 检测数据类型 .. 29 
2.4 PHP 常量  30 
2.4.1 定义常量  30
2.4.2 预定义常量  31 
2.5 PHP 变量  32 
2.5.1 变量赋值及使用  33 
2.5.2 PHP 预定义变量  35 
2.6 PHP 操作符 . 36 
2.6.1 算术操作符  36 
2.6.2 字符串操作符 .. 37 
2.6.3 赋值操作符  38 
2.6.4 递增或递减操作符  38 
2.6.5 逻辑操作符  39 
2.6.6 比较操作符  40 
2.6.7 条件操作符  40 
2.6.8 操作符的优先级  41 
2.7 PHP 表达式 . 42 
2.8 PHP 函数  43 
2.8.1 定义和调用函数  43 
2.8.2 在函数间传递参数  44 
2.8.3 从函数中返回值  46 
2.8.4 变量作用域  47 
2.9 PHP 编码规范 .. 48 
2.9.1 PSR-1 编码规范  48 
2.9.2 PSR-2 编码规范  49 
2.10 小结  51 
第 3 章 流程控制语句 52 
3.1 条件控制语句 .. 52 
3.1.1 if 语句  52 
3.1.2 ifelse 语句  54 
3.1.3 elseif 语句 .. 55 
3.1.4 switch 语句  56 
3.2 循环控制语句 .. 58 
3.2.1 for 循环语句  58 
3.2.2 while 循环语句  60 
3.2.3 dowhile 循环语句  61 
3.3 跳转语句  62 
3.3.1 break 语句 . 62 
3.3.2 continue 语句  63 
3.4 学习笔记  64 
学习笔记一:ifelse 执行顺序  64 
学习笔记二:while 循环语句和 dowhile 循环语句的区别  64 
3.5 小结 . 65 
第 4 章 字符串操作与正则表达式 66 
4.1 字符串的定义方法  66 
4.1.1 使用单引号或双引号定义字符串  66 
4.1.2 使用定界符定义字符串  67 
4.2 字符串操作 . 68 
4.2.1 去除字符串首尾空格和特殊字符  68 
4.2.2 获取字符串的长度  70 
4.2.3 截取字符串  73 
4.2.4 检索字符串  76 
4.2.5 替换字符串  79 
4.2.6 分割字符串、合成字符串  81 
4.3 正则表达式 . 83 
4.3.1 正则表达式简介  83 
4.3.2 行定位符  83 
4.3.3 元字符 .. 84 
4.3.4 限定符 .. 84 
4.3.5 字符类 .. 85 
4.3.6 排除字符  85 
4.3.7 选择字符  85 
4.3.8 转义字符  86 
4.3.9 分组 . 86 
4.4 正则表达式在 PHP 中的应用  86 
4.5 学习笔记  88 
学习笔记一:慎用 strlen() 函数处理中文字符  88 
学习笔记二:strstr() 函数和 strpos() 函数的区别  89 
4.6 小结 . 89 
第 5 章 PHP 数组应用 90 
5.1 什么是数组 . 90 
5.2 创建数组  91 
5.2.1 使用 array() 函数创建数组  91 
5.2.2 通过赋值方式创建数组  93 
5.3 数组的类型 . 93 
5.3.1 数字索引数组 .. 93 
5.3.2 关联数组  94 
5.4 多维数组  95 
5.5 遍历数组  97 
5.6 统计数组元素个数  98 
5.7 查询数组中的指定元素  99 
5.8 获取数组中的最后一个元素  102 
5.9 向数组中添加元素  102 
5.10 删除数组中的重复元素  103 
5.11 其他常用数组函数  104 
5.11.1 数组排序函数  104 
5.11.2 数组计算函数  106 
5.12 学习笔记 . 107 
学习笔记一:数组的索引 .. 107 
学习笔记二:使用 count() 函数计算二维数组的长度  107 
5.13 小结 .. 108 
第 6 章 面向对象的程序设计 ..109 
6.1 面向对象的基本概念  109 
6.1.1 类的概念 . 109 
6.1.2 对象的概念  109 
6.1.3 面向对象编程的三大特点 .. 110 
6.2 PHP 与对象 111 
6.2.1 类的定义 ..111 
6.2.2 成员方法 ..111 
6.2.3 类的实例化  112 
6.2.4 成员变量 . 113 
6.2.5 类常量  114 
6.2.6 构造方法和析构方法  115 
6.2.7 继承和多态  118 
6.2.8 “$this->”和“::”的使用  122 
6.2.9 数据隐藏 . 124 
6.2.10 静态变量(方法)  127 
6.3 PHP 对象的高级应用  128 
6.3.1 fifinal 关键字  128 
6.3.2 抽象类  129 
6.3.3 接口的使用  131 
6.3.4 对象类型检测  133 
6.3.5 魔术方法 (__) . 133 
6.4 面向对象的应用 . 138 
6.5 学习笔记  140 
学习笔记一:类和对象的关系 . 140 
学习笔记二:方法与函数的区别 .. 141 
6.6 小结  141 
第二篇? 提高篇 
第 7 章 PHP 与 Web 页面交互142 
7.1 Web 工作原理  142 
7.1.1 HTTP 协议  142 
7.1.2 Web 数据交互过程 .. 143 
7.2 HTML 表单  144 
7.2.1 HTML 简介  144 
7.2.2 HTML 表单结构 . 147 
7.2.3 表单元素 . 148 
7.3 CSS 美化表单页面  151 
7.3.1 CSS 简介 . 151 
7.3.2 插入 CSS 样式表  152 
7.3.3 CSS 应用实例  155 
7.4 JavaScript 表单验证  158 
7.4.1 JavaScript 简介  158 
7.4.2 调用 JavaScript  159 
7.4.3 用户注册表单验证实例 . 160 
7.5 PHP 获取表单数据  163 
7.5.1 获取 POST 方式提交的表单数据 .. 164 
7.5.2 获取 GET 方式提交的表单数据  165 
7.6 学习笔记  167 
学习笔记一:Web 工作原理  167 
学习笔记二:JavaScript 和 jQuery  168 
7.7 小结  168 
第 8 章 Cookie 与 Session169 
8.1 Cookie 管理  169 
8.1.1 了解 Cookie  169 
8.1.2 创建 Cookie  171 
8.1.3 读取 Cookie  172 
8.1.4 删除 Cookie  173 
8.1.5 Cookie 的生命周期 .. 174 
8.1.6 7 天免登录功能的实现 .. 174 
8.2 Session 管理  180 
8.2.1 了解 Session  180 
8.2.2 创建会话 . 181 
8.2.3 使用 Session 实现判断用户登录功能 . 182 
8.3 Session 高级应用  185 
8.3.1 Session 临时文件  185 
8.3.2 Session 缓存  186 
8.3.3 Session 数据库存储 . 187 
8.4 学习笔记  192 
学习笔记一:Cookie 和 Session 的区别  192 
学习笔记二:Cookie 和 Session 的关系  193 
8.5 小结  193 
第 9 章 PHP 操作 MySQL 数据库 .194 
9.1 PHP 操作 MySQL 数据库的方法  194 
9.1.1 连接 MySQL 服务器  194 
9.1.2 选择 MySQL 数据库  196 
9.1.3 执行 SQL 语句  197 
9.1.4 将结果集返回到数组中 . 198 
9.1.5 从结果集中获取一行作为对象  202 
9.1.6 从结果集中获取一行作为枚举数组  204 
9.1.7 从结果集中获取一行作为关联数组  205 
9.1.8 获取查询结果集中的记录数  205 
9.1.9 释放内存 . 206 
9.1.10 关闭连接  207 
9.2 管理 MySQL 数据库中的数据 .. 207 
9.2.1 添加数据 . 208 
9.2.2 编辑数据 . 212 
9.2.3 删除数据 . 217 
9.3 学习笔记  219 
学习笔记一:mysqli_fetch_array() 函数、mysqli_fetch_assoc() 函数、 
mysqli_fetch_row() 函数和 mysqli_fetch_object() 函数的区别 .. 219 
学习笔记二:mysqli_prepare() 函数和 mysqli_stmt_prepare() 函数的区别  220 
9.4 小结  220 
第 10 章 PDO 数据库抽象层 ..221 
10.1 什么是 PDO . 221 
10.1.1 PDO 概述  221 
10.1.2 PDO 的特点 . 222 
10.1.3 安装 PDO  222 
10.2 PDO 连接数据库  223 
10.2.1 PDO 构造函数 .. 223 
10.2.2 DSN 详解  224 
10.3 在 PDO 中执行 SQL 语句 . 224 
10.4 在 PDO 中获取结果集 . 226 
10.4.1 fetch() 方法  226 
10.4.2 fetchAll() 方法 .. 229 
10.4.3 fetchColumn() 方法  231 
10.5 在 PDO 中捕获 SQL 语句中的错误 .. 232 
10.5.1 默认模式  233 
10.5.2 警告模式  234 
10.5.3 异常模式  235 
10.6 PDO 中的错误处理 . 236 
10.6.1 errorCode() 方法  236 
10.6.2 errorInfo() 方法 . 236 
10.7 PDO 中的事务处理 . 237 
10.8 学习笔记 . 239 
学习笔记一:为什么 PDO 能够防止 SQL 注入 . 239 
学习笔记二:PDO 类和 PDOStatement 类的关系  239 
10.9 小结 .. 239 
第 11 章 文件系统 .240 
11.1 文件处理 .. 241 
11.1.1 打开 / 关闭文件  241 
11.1.2 从文件中读取数据  242 
11.1.3 将数据写入文件  249 
11.1.4 操作文件  250 
11.2 目录处理 .. 251 
11.2.1 打开 / 关闭目录  251 
11.2.2 浏览目录  252 
11.2.3 操作目录  253 
11.3 文件上传 .. 254 
11.3.1 配置 php.ini 文件  254 
11.3.2 预定义变量 $_FILES  255 
11.3.3 文件上传函数  258 
11.3.4 多文件上传 .. 262 
11.4 文件下载 .. 265 
11.5 学习笔记 .. 268 
学习笔记一:fifile() 函数和 fifile_get_contents() 函数的区别  268 
学习笔记二:设置表单属性 enctype .. 268 
11.6 小结  268 
第 12 章 图形图像处理技术 269 
12.1 在 PHP 中加载 GD 库 .. 269 
12.2 GD 库的应用  270 
12.2.1 创建简单的图像  270 
12.2.2 使用 GD2 函数库在照片上添加文字  270 
12.2.3 使用图像处理技术生成验证码  272 
12.3 JpGraph 图像绘制库  277 
12.3.1 JpGraph 的下载 . 277 
12.3.2 JpGraph 的中文配置  278 
12.3.3 JpGraph 的使用 . 278 
12.4 JpGraph 典型应用  280 
12.4.1 使用柱形图统计图书月销售量  280 
12.4.2 使用折线图统计三本图书的销售量 . 282 
12.4.3 使用 3D 饼形图统计各类商品的年销售额比率  284 
12.5 学习笔记 . 285 
学习笔记一:JpGraph 中文乱码  285 
学习笔记二:如何使用 JpGraph 的其他图形  285 
12.6 小结 .. 286 
第 13 章 PHP 与 AJAX 技术 ..287 
13.1 AJAX 概述  288 
13.1.1 什么是 AJAX  288 
13.1.2 AJAX 的开发模式 . 288 
13.1.3 AJAX 的优点  289 
13.2 AJAX 使用的技术  289 
13.2.1 AJAX 与 JavaScript  289 
13.2.2 XMLHttpRequest 对象 . 289 
13.3 AJAX 技术的典型应用  293 
13.3.1 应用 AJAX 技术检测用户名 . 293 
13.3.2 使用 jQuery 的 AJAX 操作函数  298 
13.4 学习笔记 . 301 
学习笔记一:浏览器兼容性问题 .. 301 
学习笔记二:使用 jQuery 的 AJAX 方法 . 301 
13.5 小结 .. 301 
第 14 章 ThinkPHP 框架 302 
14.1 ThinkPHP 简介 .. 302 
14.1.1 ThinkPHP 框架的特点 . 302 
14.1.2 环境要求  303 
14.1.3 下载 ThinkPHP 框架  304 
14.2 ThinkPHP 基础 .. 304 
14.2.1 目录结构  304 
14.2.2 自动生成目录  305 
14.2.3 快速生成新模块  307 
14.2.4 模块化设计 .. 309 
14.2.5 执行流程  310 
14.2.6 命名规范  310 
14.3 ThinkPHP 的配置  311 
14.3.1 配置格式  312 
14.3.2 调试配置  313 
14.4 ThinkPHP 的控制器 . 313 
14.4.1 控制器的创建  313 
14.4.2 输入变量  316 
14.4.3 请求类型  317 
14.4.4 URL 生成  318 
14.4.5 跳转和重定向  319 
14.4.6 AJAX 返回  320 
14.5 ThinkPHP 的模型  322 
14.5.1 模型定义  322 
14.5.2 实例化模型 .. 323 
14.5.3 连接数据库 .. 325 
14.5.4 连贯操作  325 
14.5.5 CURD 操作 .. 327 
14.6 ThinkPHP 的视图  333 
14.6.1 模板定义  333 
14.6.2 模板赋值  334 
14.6.3 指定模板文件  334 
14.7 内置 ThinkTemplate 模板引擎 . 338 
14.7.1 变量输出  338 
14.7.2 使用函数  340 
14.7.3 内置标签  340 
14.7.4 模板继承  341 
14.8 学习笔记 . 341 
学习笔记一:什么是单一入口 . 341 
学习笔记二:为什么要使用 MVC 设计模式  342 
14.9 小结 .. 342 
第三篇? 项目篇 
第 15 章 51 购商城 343 
15.1 系统功能设计  343 
15.1.1 系统功能结构  343 
15.1.2 系统业务流程  344 
15.2 系统开发必备  345 
15.2.1 系统开发环境  345 
15.2.2 文件夹组织结构  345 
15.3 数据库设计 .. 346 
15.3.1 数据库概要说明  346 
15.3.2 数据库逻辑设计  347 
15.4 前台用户模块设计 .. 349 
15.4.1 会员注册模块  349 
15.4.2 会员登录模块  353 
15.5 前台首页模块设计 .. 353 
15.5.1 商品分类模块  355 
15.5.2 商品列表模块  360 
15.6 购物车模块设计  361 
15.6.1 添加商品至购物车  361 
15.6.2 查看购物车商品  363 
15.6.3 清空购物车 .. 365 
15.6.4 添加收货地址  366 
15.6.5 提交订单  369 
15.7 后台模块设计  370 
15.7.1 管理员登录模块  371 
15.7.2 后台首页  372 
15.7.3 商品模块  373 
15.7.4 订单模块  374 
15.7.5 其他模块  375 
15.8 小结 .. 376