新書推薦:
《
安全感是内心长出的盔甲
》
售價:HK$
67.0
《
快人一步:系统性能提高之道
》
售價:HK$
110.9
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:HK$
77.3
《
算法图解(第2版)
》
售價:HK$
78.2
《
科学的奇幻之旅
》
售價:HK$
77.3
《
画艺循谱:晚明的画谱与消闲
》
售價:HK$
143.4
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:HK$
99.7
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:HK$
44.6
編輯推薦:
教学内容与当前国家、社会就业市场需求紧密结合;
② 突出实用性,强调技能,面向问题,面向应用;
③ 应用性和概念性、知识性内容相结合,且均与时俱进,具有先进性;
④ 知识内容模块化组织,可供不同院校根据专业需求进行选用,具有良好的教学适用性,文理兼顾;
⑤ 在教材的编写风格上,将教材的严肃性和学生的阅读兴趣相结合,让读者能融入案例所设定的人物角色,更容易理解人物角色的工作思路。
內容簡介:
Web应用开发技术是网站、App等互联网产品开发中不可或缺的后端组成部分。本书基于以高性能著称的PHP Phalcon框架,介绍后端开发涉及的关键技术。全书共分12章:第1章介绍开发部署并预览后端项目结构;第2章介绍后端开发所需的网络原理基础知识;第3章介绍Phalcon框架依赖注入和事件驱动设计思想;第4~9章为后端开发核心,包含应用入口、路由原理、MVC以及权限控制;第10~12章介绍安全、缓存和多人合作等优化技术。每章配有习题,以便有兴趣的读者拓展思考。本书适合作为高等院校数字媒体技术、软件、计算机相关专业的本科生进阶教材,也适合作为感兴趣的开发人员的实践参考用书。
關於作者:
景东,哈尔滨工业大学媒体技术与艺术系教师,美国亚利桑那大学MIS访问学者,主讲计算机网络、移动应用开发和数据分析等课程,主持了国家社科基金、教育部人文社科基金、省社科基金项目,研究方向为社会媒体分析。在哈工大组织的可明ComingX开发团队,有十余年的开发经验,开发并运营着许多线上创业项目,曾获得谷歌颁发的2017年Android全国大学生移动互联网创新挑战赛总决赛金奖、教育部颁发的全国大学生广告艺术大赛交互广告组一等奖,团队毕业的学生主要就职于阿里、百度、腾讯等一线互联网公司。
目錄 :
第1章 Phalcon框架起步 1
1.1 框架之谈 1
1.1.1 是否需要框架 1
1.1.2 为什么选择Phalcon 2
1.2 快速起步 3
1.2.1 Phalcon开发环境的配置 3
1.2.2 第一个Phalcon项目 6
1.3 Phalcon开发工具 14
1.4 PhpStorm配置 16
小结 16
习题 16
第2章 网络通信与HTTP协议 17
2.1 计算机网络体系 17
2.1.1 OSI参考模型 18
2.1.2 TCPIP模型 19
2.1.3 TCPIP模型的封装与解封 21
2.2 TCP协议 23
2.2.1 TCP段格式 23
2.2.2 TCP Socket 25
2.2.3 TCP传输 26
2.3 HTTP协议 28
2.3.1 HTTP请求报文 28
2.3.2 HTTP响应报文 30
2.4 Cookie与Session 31
2.5 HTTPS 32
2.5.1 HTTPS的相关概念 33
2.5.2 TLS协议的原理 34
小结 36
习题 36
第3章 理解Phalcon的设计思想 37
3.1 Phalcon框架结构 37
3.2 依赖注入 38
3.2.1 依赖注入的原理和简易
实现 38
3.2.2 Phalcon中的DI 42
3.3 事件驱动 45
3.3.1 何为事件驱动架构 45
3.3.2 事件驱动架构的实现原理 46
3.3.3 Phalcon事件驱动机制
的应用 47
3.3.4 自定义可触发事件的组件 50
小结 52
习题 53
第4章 应用 54
4.1 引导程序Bootstrap 54
4.2 Application工作流 58
小结 60
习题 60
第5章 路由与URL 61
5.1 路由工作原理 61
5.2 定义路由 63
5.3 URL 67
小结 68
习题 68
第6章 调度器与控制器 69
6.1 循环调度 69
6.2 控制器基本用法 69
6.3 调度器插件 73
小结 75
习题 75
第7章 视图 77
7.1 注册视图服务 77
7.2 视图渲染级别 78
7.3 视图路径 79
7.4 控制器向视图传值 80
7.5 视图中获取服务 81
7.6 视图工作原理 81
7.7 Volt引擎 83
小结 88
习题 89
第8章 模型 90
8.1 数据表与Model类 90
8.2 Model数据查询 91
8.2.1 Model基本数据查询 91
8.2.2 Model查询参数 92
8.2.3 Model面向对象查询 94
8.3 Model数据创建和更新 95
8.4 Model数据删除 97
8.5 原生SQL和PHQL 97
8.5.1 使用原生SQL 97
8.5.2 使用PHQL 98
8.6 Model事务机制 99
8.6.1 自定义事务 100
8.6.2 模型的事务 100
8.7 Model关系 103
8.7.1 三大关联关系 103
8.7.2 关联模型数据查询 108
8.7.3 关联模型数据创建和更新 109
8.7.4 关联模型数据删除 109
8.8 Model事件和事件管理器 110
8.8.1 Model事件 110
8.8.2 使用自定义的事件管理器 111
8.9 Model连接多个数据库 112
8.10 分析SQL语句的执行时间 113
8.11 Model获取DI容器内的服务 114
小结 114
习题 115
第9章 访问控制列表 116
9.1 ACL实现原理 116
9.2 Phalcon\ACL的基本方法 117
9.3 静态ACL的实现 119
9.4 动态ACL的实现 123
小结 124
习题 125
第10章 网站安全 126
10.1 使用HTTPS 126
10.2 跨站请求伪造 128
10.2.1 攻击原理 128
10.2.2 防御 129
10.3 XSS攻击 129
10.3.1 XSS攻击原理 130
10.3.2 防御 130
10.4 SQL注入 131
10.4.1 SQL注入原理 131
10.4.2 防御 132
10.5 拒绝服务攻击 133
10.6 服务器文件权限管理 134
10.6.1 文件权限管理的目的和原理 134
10.6.2 Linux文件权限操作方法 135
10.7 资源ID保护 136
10.8 文件上传安全 136
10.8.1 文件上传漏洞 136
10.8.2 防御 137
小结 137
习题 138
第11章 缓存 139
11.1 缓存的场景分析 139
11.2 Phalcon缓存 139
11.2.1 Phalcon缓存简介 139
11.2.2 Phalcon缓存的使用 141
11.2.3 Phalcon缓存操作 143
11.3 模型层缓存 145
11.4 控制层缓存 146
11.5 视图层缓存 148
11.5.1 视图层缓存 148
11.5.2 全站静态 149
11.6 缓存清除 149
小结 151
习题 151
第12章 多人合作的开发架构 152
12.1 多模块的开发模式 152
12.1.1 如何分割模块 152
12.1.2 Phalcon多模块项目 153
12.1.3 Phalcon模块之间调用 156
12.1.4 多模块的ACL实现 157
12.2 多站点跨语言的开发模式 158
12.3 基于Git的代码管理 161
12.3.1 Git的常用操作 161
12.3.2 分支的创建与管理 164
12.3.3 GitHub的使用 165
12.4 核心代码保护 168
小结 169
习题 170
內容試閱 :
Web应用开发技术是实现网站、App等互联网产品开发的后端技术,提供数据请求、处理、存储等业务。绝大多数主流的编程语言都可以用于Web应用开发,然而PHP仍然是热门选择之一。它的突出优势在于:快速入门、直观调试、无须编译、社区活跃、资源丰富、开发高效,可用于小型创业项目,亦可用于大型企业级项目。众多优秀的开发框架使PHP完全具备大型项目开发的需求。开发框架在提供开发便利的同时也一定程度上损失了运行效率,虽然这种损失微乎其微,但对于高并发的项目,优化运行效率是重中之重。因此,寻找一个合适的框架来解决Web项目开发中的MVC分离、路由分发、权限控制、数据缓存等基础问题,一直是项目组考虑的重点。衡量一个框架的优劣,有很多因素,如性能、开发效率、架构思想、社区文档成熟度、团队成员知识组成、开源贡献者质量等。多项测评表明,Phalcon因为其C语言的底层优势,在性能方面一直是佼佼者。然而让我们在多个线上项目选择它的原因却不是性能,而是它的架构思想。其核心的依赖注入的服务管理思想能够让我们在项目的任何位置高效调用各类服务,其事件驱动的插件机制提供了在框架中自由扩展的可能,以及其继承和发扬了Zend Framework的代码结构让我们倍感亲切。
本书是在哈尔滨工业大学ComingX团队多位成员共同努力下完成的,由景东任主编。参与本书编写的还有:胡明明、陈文忠、谢佳宏、罗炜杰、卓兴良、郭巧驰。在本书的编写过程中,我们深度阅读了Phalcon的源码,从源码层面解释各组件功能背后的原理,并配合流程图将原理直观化。我们希望本书能为读者的开发实践提供参考,因此着重结合以往的开发经验来组织内容编写,并配合实际代码支撑功能讲解。
书中难免谬误,若蒙读者诸君不吝赐教,将不胜感激。欢迎发送邮件至jingdongemail@ gmail.com。本书相关的勘误表可通过访问网址查阅:https:github.comcomingxphalcon-book blobmastercorrigenda。
感谢李松林老师、王占清编辑对本书出版工作的付出。感谢我的家人在编写过程中给我的支持,特别感谢我的五岁的阿杰给我带来的欢乐和幸福,激励我更加努力地工作。