新書推薦:
《
冯友兰和青年谈心系列
》
售價:NT$
762.0
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:NT$
352.0
《
认知行为疗法:心理咨询的顶层设计
》
售價:NT$
454.0
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
《
SDGSAT-1卫星热红外影像图集
》
售價:NT$
2030.0
|
編輯推薦: |
提供教学视频、PPT课件、习题答案、测试题、交流群、教学网站等丰富的学习资源。除了PHP基础语法之外,还讲解了PHP图像处理、Web开发、MySQL数据库操作、Laravel框架以及PHP-ML人工智能等。
|
內容簡介: |
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。 全书共分19章,包括PHP开发入门、PHP编程基础、函数、数组、面向对象、错误与异常处理、文件处理、字符串操作、正则表达式、PHP图像处理技术、Web开发基础、PHP与Web页面交互、PHP会话技术、MySQL数据库基础、PHP操作MySQL数据库、PDO数据库抽象层、Smarty模板技术、Laravel框架、PHP-ML人工智能等内容。书中所有知识都结合具体实例进行介绍,涉及的程序代码均附以详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。 本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
|
目錄:
|
目录
第1章 PHP开发入门 1
1.1 PHP概述 1
1.1.1 认识PHP 1
1.1.2 PHP语言的优势 2
1.1.3 PHP的应用领域 2
1.2 PHP开发环境搭建 3
1.2.1 常见的PHP集成开发环境 3
1.2.2 安装WampServer 4
1.2.3 WampServer目录介绍 10
1.2.4 测试开发环境 11
1.3 第一个PHP程序 12
1.4 PHP程序开发流程 13
1.5 本章小结 14
1.6 习题 14
第2章 PHP编程基础 16
2.1 PHP基本语法 16
2.1.1 PHP标记 16
2.1.2 PHP注释 17
2.1.3 PHP标识符与关键字 19
2.2 PHP变量 20
2.2.1 变量的定义 20
2.2.2 数据类型 20
2.2.3 检测数据类型 25
2.2.4 可变变量 26
2.2.5 变量的引用赋值 27
2.3 PHP常量 27
2.3.1 常量的定义及获取 27
2.3.2 预定义常量 29
2.4 数据类型转换 30
2.4.1 自动类型转换 30
2.4.2 强制类型转换 32
2.5 PHP运算符 34
2.5.1 算术运算符 34
2.5.2 赋值运算符 34
2.5.3 字符串运算符 35
2.5.4 自加自减运算符 35
2.5.5 比较运算符 37
2.5.6 逻辑运算符 38
2.5.7 三元运算符 39
2.5.8 NULL合并运算符 39
2.5.9 组合比较运算符 40
2.5.10 位运算符 40
2.5.11 其他运算符 41
2.5.12 运算符的优先级 41
2.6 表达式与语句 42
2.7 流程控制语句 42
2.7.1 条件语句 42
2.7.2 循环语句 46
2.7.3 跳转语句 49
2.8 本章小结 52
2.9 习题 52
第3章 函数 54
3.1 函数的基本用法 54
3.1.1 函数的定义 54
3.1.2 函数的调用 55
3.1.3 函数的参数 56
3.1.4 函数的返回值 58
3.2 变量的作用域 59
3.2.1 局部变量 59
3.2.2 全局变量 60
3.2.3 静态变量 62
3.3 函数的高级用法 63
3.3.1 可变函数 63
3.3.2 引用函数返回值 64
3.3.3 函数的嵌套调用 64
3.3.4 函数的递归调用 65
3.3.5 回调函数 67
3.4 PHP手册的使用 69
3.5 本章小结 71
3.6 习题 71
第4章 数组 73
4.1 数组的概念 73
4.2 数组的定义 74
4.3 数组的操作 77
4.3.1 数组输出 77
4.3.2 数组删除 79
4.3.3 数组运算 79
4.3.4 数组遍历 81
4.4 数组的常用函数 85
4.4.1 计算元素个数 86
4.4.2 压入或弹出元素 86
4.4.3 移除重复值 87
4.4.4 获取键名 88
4.4.5 数组排序 90
4.4.6 合并数组 92
4.4.7 拆分数组 93
4.4.8 反转数组 93
4.4.9 随机获取键名 95
4.4.10 打乱数组 95
4.5 二维数组 96
4.5.1 二维数组的定义 96
4.5.2 二维数组的遍历 98
4.6 本章小结 99
4.7 习题 100
第5章 面向对象 101
5.1 面向对象的概念 101
5.1.1 对象与类的概念 101
5.1.2 面向对象的三大特征 102
5.2 类与对象 104
5.2.1 定义类 104
5.2.2 创建对象 105
5.2.3 封装 107
5.2.4 $this的使用 110
5.3 构造方法 111
5.4 析构方法 112
5.5 类常量 113
5.6 静态成员 114
5.7 继承 116
5.7.1 继承的概念 117
5.7.2 子类重写父类方法 118
5.8 抽象类与接口 121
5.8.1 抽象类 121
5.8.2 接口 122
5.9 多态 124
5.10 魔术方法 125
5.10.1 _ _toString 126
5.10.2 _ _call 126
5.10.3 _ _autoload 127
5.10.4 _ _clone 129
5.11 设计模式 131
5.11.1 单例模式 131
5.11.2 工厂模式 132
5.12 本章小结 133
5.13 习题 133
第6章 错误与异常处理 135
6.1 错误处理 135
6.1.1 错误类型 135
6.1.2 错误级别 136
6.1.3 显示错误报告 136
6.1.4 记录错误日志 139
6.1.5 自定义错误处理 140
6.2 异常处理 142
6.2.1 异常处理的概念 142
6.2.2 异常处理实现 143
6.2.3 自定义异常 145
6.2.4 多个异常 146
6.2.5 重抛异常 149
6.2.6 自定义异常处理 150
6.3 调试方法 151
6.3.1 使用输出语句进行调试 151
6.3.2 使用文件记录进行调试 152
6.3.3 使用Xdebug进行调试 153
6.4 本章小结 154
6.5 习题 154
第7章 文件处理 156
7.1 文件概述 156
7.1.1 文件类型 156
7.1.2 文件属性 158
7.2 文件操作 160
7.2.1 打开与关闭文件 161
7.2.2 读取文件 162
7.2.3 写入文件 165
7.2.4 删除文件 167
7.2.5 重命名文件 168
7.2.6 复制文件 169
7.3 目录操作 170
7.3.1 创建和删除目录 170
7.3.2 遍历目录 172
7.3.3 解析目录 173
7.3.4 统计目录下文件大小 175
7.4 本章小结 177
7.5 习题 177
第8章 字符串操作 179
8.1 字符串构成 179
8.2 常用的字符串操作 180
8.2.1 去除字符串两边的字符 180
8.2.2 去除字符串左边的字符 181
8.2.3 去除字符串右边的字符 182
8.2.4 将字符串转换为小写 182
8.2.5 字符串首字母大写转换 183
8.2.6 单词首字母大写转换 184
8.2.7 字符串的替换 184
8.2.8 字符串的部分替换 185
8.2.9 获取字符串长度 186
8.2.10 截取字符串 186
8.2.11 比较字符串 188
8.2.12 查找字符串 190
8.2.13 查找字符串出现次数 190
8.2.14 查找字符串最后一次出现的位置 191
8.2.15 查找字符串第一次出现的位置 192
8.2.16 将字符串分割成小块 193
8.2.17 在字符串中插入字符串 194
8.2.18 字符串的分解和合并 195
8.3 字符串其他操作 196
8.3.1 MD5的应用 196
8.3.2 使用MIME base64编码加密和解密数据 196
8.3.3 创建格式化输出 197
8.3.4 ASCII码与字符串 198
8.4 本章小结 199
8.5 习题 199
第9章 正则表达式 201
9.1 初识正则表达式 201
9.1.1 正则表达式的概念 201
9.1.2 正则表达式应用场景 202
9.2 正则表达式语法规则 202
9.2.1 行定位符 202
9.2.2 单词定界符 202
9.2.3 字符类 203
9.2.4 选择字符 203
9.2.5 连字符 204
9.2.6 反义字符 204
9.2.7 限定符 204
9.2.8 点字符 205
9.2.9 转义字符 205
9.2.10 反斜线 205
9.2.11 括号字符 206
9.2.12 反向引用 206
9.3 正则表达式相关函数 207
9.3.1 preg_match函数 207
9.3.2 preg_match_all函数 208
9.3.3 preg_replace函数 209
9.3.4 preg_split函数 209
9.3.5 preg_grep函数 210
9.4 正则表达式常见应用 211
9.4.1 手机号码和邮箱验证 211
9.4.2 验证网址URL合法性 212
9.5 正则表达式用法自查表 214
9.6 本章小结 215
9.7 习题 215
第10章 PHP图像处理技术 217
10.1 PHP图像基础知识 217
10.1.1 在PHP中加载GD库 217
10.1.2 常见图像格式 218
10.1.3 JpGraph图表库 219
10.2 PHP绘图的基本步骤 220
10.2.1 创建画布 221
10.2.2 设置颜色 221
10.2.3 生成图像 221
10.2.4 释放资源 222
10.3 PHP图像处理的常见应用 223
10.3.1 制作水印图 224
10.3.2 制作验证码 227
10.4 本章小结 231
10.5 习题 232
第11章 Web开发基础 233
11.1 HTTP 233
11.1.1 HTTP简介 233
11.1.2 HTTP工作流程 234
11.1.3 HTTP请求与响应 234
11.1.4 HTTP消息报头 235
11.2 初识表单 238
11.3 输入标记 239
11.3.1 文本域text 239
11.3.2 密码域password 241
11.3.3 文件域file 242
11.3.4 提交和重置按钮 243
11.3.5 复选框 244
11.3.6 单选按钮 245
11.4 下拉列表标记 247
11.5 本章小结 249
11.6 习题 249
第12章 PHP与Web页面交互 250
12.1 表单与PHP的关系 250
12.2 提交表单信息 251
12.2.1 GET方法提交表单 251
12.2.2 POST方法提交表单 252
12.3 PHP获取表单信息 253
12.3.1 获取文本框的值 254
12.3.2 获取文件域的值 255
12.3.3 获取复选框的值 256
12.3.4 获取下拉列表的值 258
12.3.5 获取单选按钮的值 260
12.3.6 使用$_GET[]获取表单信息 261
12.4 URL操作 262
12.4.1 获取URL传递的参数 262
12.4.2 URL的编码与解码 263
12.5 文件上传和下载 264
12.5.1 文件上传 264
12.5.2 文件下载 267
12.6 综合应用案例 269
12.7 本章小结 273
12.8 习题 273
第13章 PHP会话技术 274
13.1 会话技术概述 274
13.2 Cookie技术 274
13.2.1 Cookie概述 274
13.2.2 创建Cookie 275
13.2.3 读取Cookie 276
13.2.4 删除Cookie 277
13.2.5 Cookie应用案例 278
13.3 Session技术 279
13.3.1 Session概述 279
13.3.2 启动Session 280
13.3.3 向Session中添加数据 280
13.3.4 读取Session中的数据 281
13.3.5 删除Session中的数据 281
13.3.6 Session应用案例 283
13.4 本章小结 287
13.5 习题 287
第14章 MySQL数据库基础 289
14.1 数据库简介 289
14.2 MySQL的使用 290
14.2.1 启动和停止MySQL服务 290
14.2.2 登录和退出MySQL数据库 292
14.3 MySQL支持的数据类型 294
14.3.1 数值类型 294
14.3.2 字符串类型 295
14.3.3 日期和时间类型 296
14.4 数据库的基本操作 299
14.4.1 创建和查看数据库 299
14.4.2 使用数据库 300
14.4.3 修改数据库 301
14.4.4 删除数据库 301
14.5 数据表的基本操作 302
14.5.1 创建数据表 302
14.5.2 查看数据表 303
14.5.3 修改数据表 304
14.5.4 删除数据表 307
14.6 数据表中数据的基本操作 307
14.6.1 插入数据 308
14.6.2 查询数据 308
14.6.3 更新数据 310
14.6.4 删除数据 311
14.7 本章小结 311
14.8 习题 312
第15章 PHP操作MySQL数据库 313
15.1 PHP访问MySQL数据库的一般步骤 313
15.2 PHP操作MySQL数据库的方法 314
15.2.1 数据准备 314
15.2.2 连接数据库 315
15.2.3 选择数据库 316
15.2.4 执行SQL语句 317
15.2.5 关闭数据库连接 319
15.2.6 从数组结果集中获取信息 320
15.2.7 获取结果集中一行记录作为对象 321
15.2.8 逐行获取结果集中的每条记录 322
15.2.9 获取查询结果集中的记录数 323
15.2.10 获取结果集中的记录作为关联数组 324
15.3 PHP操作MySQL实战演练 326
15.3.1 数据准备 326
15.3.2 使用insert语句动态添加学生信息 326
15.3.3 使用select语句查询用户信息 331
15.3.4 使用update语句动态编辑用户信息 336
15.3.5 使用delete语句动态删除用户信息 343
15.4 本章小结 348
15.5 习题 348
第16章 PDO数据库抽象层 350
16.1 PDO概述 350
16.1.1 PDO简介 350
16.1.2 PDO的安装 351
16.2 使用PDO连接数据库 351
16.2.1 数据准备 351
16.2.2 PDO构造函数 352
16.2.3 DSN详解 353
16.3 PDO中执行SQL语句 353
16.3.1 使用PDO::exec方法 354
16.3.2 使用PDO::query方法 355
16.3.3 使用PDO::prepare和PDOStatement::execute方法 356
16.4 PDO中获取结果集 356
16.4.1 使用fetch方法 356
16.4.2 使用fetchAll方法 358
16.4.3 使用fetchColumn方法 360
16.5 PDO中的错误处理 361
16.5.1 errorCode方法 361
16.5.2 errorInfo方法 363
16.6 PDO中的事务处理 364
16.7 本章小结 366
16.8 习题 366
第17章 Smarty模板技术 368
17.1 Smarty模板简介 368
17.1.1 Smarty的概念 368
17.1.2 Smarty的工作原理 368
17.1.3 Smarty的特性 369
17.2 Smarty的安装和配置 370
17.2.1 Smarty的下载和安装 370
17.2.2 Smarty目录分析 370
17.2.3 Smarty配置 370
17.2.4 第一个Smarty的简单示例 370
17.3 Smarty模板基本语法 373
17.3.1 注释 373
17.3.2 变量 373
17.3.3 函数 376
17.3.4 属性 376
17.3.5 双引号中嵌入变量 376
17.3.6 数学计算 377
17.3.7 避免Smarty的解析 377
17.4 Smarty内置函数 377
17.4.1 {$var=} 377
17.4.2 {append} 377
17.4.3 {assign} 378
17.4.4 {config_load} 378
17.4.5 {for}循环 378
17.4.6 {while}循环 379
17.4.7 {foreach}遍历 379
17.4.8 {if}{elseif}{else}条件 379
17.5 Smarty模板继承 379
17.5.1 使用{extends}函数实现模板继承 380
17.5.2 在子模板中覆盖父模板中部分内容 380
17.5.3 合并子模板和父模板的{block}标签内容 382
17.6 Smarty缓存控制 385
17.6.1 配置缓存时间 385
17.6.2 为每个缓存设置$cache_lifetime 386
17.6.3 关闭$compile_check 386
17.6.4 使用isCached函数 387
17.6.5 删除缓存 387
17.7 本章小结 388
17.8 习题 388
第18章 Laravel框架 390
18.1 初识Laravel框架 390
18.1.1 Laravel框架简介 390
18.1.2 Laravel框架的技术特点 390
18.2 Laravel框架安装 391
18.2.1 通过一键安装包安装 391
18.2.2 通过Composer安装 392
18.3 Laravel框架目录结构 397
18.3.1 根目录 397
18.3.2 app目录 398
18.4 Laravel的生命周期 399
18.4.1 生命周期概述 399
18.4.2 生命周期详解 399
18.5 Laravel服务容器 400
18.5.1 控制反转和依赖注入 400
18.5.2 服务容器 400
18.6 Laravel服务提供者 402
18.6.1 服务提供者概念 402
18.6.2 服务提供者举例说明 402
18.7 Laravel路由详解 407
18.7.1 路由基本概念 407
18.7.2 基础路由 407
18.7.3 多请求路由 408
18.7.4 路由前缀 408
18.8 Laravel控制器 408
18.8.1 创建控制器 409
18.8.2 结合路由设置控制器 409
18.8.3 带参数的路由使用控制器 409
18.8.4 测试用例 409
18.9 Laravel视图 410
18.9.1 创建控制器 410
18.9.2 匹配路由 411
18.9.3 新建视图 411
18.9.4 测试用例 411
18.10 Laravel数据库操作 412
18.10.1 数据库配置 412
18.10.2 连接数据库 413
18.10.3 DB Facade原始方式 415
18.10.4 查询构造器 417
18.11 本章小结 421
18.12 习题 421
第19章 PHP-ML人工智能 423
19.1 初识PHP-ML 423
19.2 机器学习概述 424
19.2.1 机器学习的概念 424
19.2.2 机器学习的研究领域 424
19.3 机器学习算法 426
19.3.1 机器学习算法概念 426
19.3.2 机器学习算法分类 426
19.3.3 机器学习实施过程 430
19.4 PHP-ML库 431
19.4.1 PHP-ML安装 432
19.4.2 PHP-ML目录结构 433
19.4.3 PHP-ML入门案例 434
19.5 本章小结 438
19.6 习题 439
附录A 自定义搭建PHP开发环境 440
|
內容試閱:
|
前言
在瞬息万变的IT时代,一群怀揣梦想的人创办了千锋教育,投身到IT培训行业。七年来,一批批有志青年加入千锋教育,为了梦想笃定前行。千锋教育秉承用良心做教育的理念,为培养顶级IT精英而付出一切努力。为什么会有这样的梦想?我们先来听一听用人企业和求职者的心声:
现在符合企业需求的IT技术人才非常紧缺,这方面的优秀人才我们会像珍宝一样对待,可为什么至今没有合格的人才出现?
面试的时候,用人企业问能做什么,这个项目如何来实现,需要多长的时间,我当时都蒙了,回答不上来。
这已经是面试过的第十家公司了,如果再不行的话,要考虑转行了。难道大学里的四年都白学了?
这已经是参加面试的第N个求职者了,为什么都是计算机专业,当问到项目如何实现,怎么连思路都没有呢?
这些心声并不是个别现象,而是中国社会的一种普遍现象。高校的IT教育与企业的真实需求存在脱节,如果高校的相关课程仍然不进行更新的话,毕业生将面临难以就业的困境。很多用人单位表示,高校毕业生学了许多知识,但绝大多数知识在实际工作中用之甚少,甚至完全用不上。针对上述问题,国务院也做出了关于加快发展现代职业教育的决定。很庆幸,千锋教育所做的事情就是配合高校达成产学合作。
千锋教育致力于打造IT职业教育全产业链人才服务平台,全国数十家分校、数百名讲师团坚持以教学为本的方针,采用面对面教学,传授企业实用技能;教学大纲紧跟企业需求;拥有全国一体化就业体系。千锋教育的价值观是做真实的自己,用良心做教育。
针对高校教师的服务:
(1)千锋教育基于近七年来的教育培训经验,精心设计了包含教材 授课资源 考试系统 测试题 辅助案例的教学资源包,节约教师的备课时间,缓解教师的教学压力,显著提高教学质量。
(2)本书配套源代码、视频的获取网址为http:www.codingke.com。
(3)本书配备了千锋教育优秀讲师录制的教学视频,按本书知识结构体系部署到了教学辅助平台(扣丁学堂)上。这些教学视频可以作为教学资源使用,也可以供备课 参考。
高校教师如需要配套教学资源,可扫描下方二维码,关注扣丁学堂微信公众平台获取。
扣丁学堂
针对高校学生的服务:
(1)学IT有疑问,就找千问千知。它是一个有问必答的IT社区,平台上的专业答疑辅导教师承诺工作时间3 h内答复您学习IT中遇到的专业问题。读者也可以通过扫描下方的二维码,关注千问千知微信公众平台,浏览其他学习者在学习中分享的问题和收获。
千问千知
(2)学习太枯燥,想了解其他学校的伙伴都是怎样学习的?你可以加入扣丁俱乐部。扣丁俱乐部是千锋教育联合各大高校发起的公益计划,专门面向对IT有兴趣的大学生提供免费的学习资源和问答服务,已有超过30多万名学习者从中获益。
就业难,难就业,千锋教育让就业不再难!
福利来袭
本书附带《千锋图书管理系统》项目实战,读者可关注千问千知公众号,在对话框中输入千锋图书管理系统即可领取项目说明和源代码。
关于本书
本书可作为高等院校本、专科计算机相关专业的PHP入门教材,是一种适合广大计算机编程爱好者的优秀读物。
抢红包
本书配套源代码、习题答案的获取方法:添加小千QQ号或微信号2133320438。
注意,小千会随时发放助学金红包。
致谢
千锋教育PHP教学团队将多年积累的教学实战案例进行整合,通过反复地精雕细琢最终完成了本书。另外,多名院校教师也参与了本书的部分编写与指导工作。除此之外,千锋教育的500多名学员也参与了本书的试读工作,他们站在初学者的角度对本书提出了许多宝贵的修改意见,在此一并表示衷心的感谢。
意见反馈
本书虽然力求完美,但难免有一些不足之处,欢迎各界专家和读者朋友提出宝贵意见,联系方式: huyaowen@1000phone.com。
千锋教育高教产品研发部
2018年8月 于北京
|
|