编辑推荐
Yii是一个基于组件、用于开发大型Web应用的高性能PHP框架,因其高效性而被公认为“zui有效率的PHP框架”。
本书并不是Yii框架的入门教程,而是站在框架设计的高度,从源码级别对Yii框架进行了深度剖析。本书首先介绍了PHP框架技术的概念及其应用领域,然后仿照Yii框架源码自定义框架,其内容涵盖了MVC设计模式、单入口模式和应用的实现。本书旨在帮助读者熟悉Yii的基本结构、规范和开发流程,以敏捷、稳健地开发Web应用程序。
本书内容:
PHP框架简介;
Yii框架基础;
布局;
模块;
ActiveRecord模型;
CActiveRecord模型类的查询方法;
小物件;
ActiveRecord模型验证;
AJAX验证;
用户登录;
基于角色的访问控制;
Yii框架中Memcached缓存应用;
日志;
URL重写;
Yii 2.0介绍。
读者可通过(http://edu.51cto.com/course/course_id-1973.html)观看视频课程,并加入QQ群:231113585,就图书内容进行讨论。
内容简介
Yii是一个基于组件、用于开发大型Web应用的高性能PHP框架,它提供了当今Web 2.0应用开发所需要的几乎一切功能,是****开发效率的PHP框架之一。
《Yii框架深度剖析》站在框架设计的高度,从源代码级别剖析了Yii框架的工作机制。《Yii框架深度剖析》分为15章,其内容涵盖了PHP框架的概念,Yii框架的工作流程,布局的概念及作用,模块的概念及作用,ActiveRecord模型的原理和作用,ActiveRecord模型的查询方法,小物件的概念及作用,小物件CActiveForm的作用以及调用方法,模型验证的概念及作用,Yii框架中的AJAX验证,与用户登录相关的内容,Yii框架中基于角色的访问控制系统的设计与实现,Memcached缓存在Yii框架中的使用,日志在Yii框架中的实现,以及Yii框架中URL管理组件。
《Yii框架深度剖析》适合Web开发人员,以及有一定的PHP开发基础,但是希望学习使用框架来提升开发能力的读者阅读。
作者简介
刘琨,石家庄铁道大学工程硕士,技术顾问,51CTO技术讲师,拥有十多年软件开发和管理工作经验,七年教学经验,两年海外工作经验。曾任北京某科技股份有限公司技术总监、项目经理等职务,具有扎实的技术功底,近年来一直从事移动互联网开发及物联网研究。
目录
第1章 初识PHP框架技术 1
1.1 PHP语言发展历史及其适合的应用领域 1
1.2 什么是框架 3
1.3 为什么要用框架开发 4
1.4 自定义框架 4
1.4.1 MVC框架模式的实现 4
1.4.2 入口文件 11
1.4.3 应用(前端控制器) 16
1.4.4 从自定义框架到Yii框架 21
1.5 小结 22
第2章 Yii框架基础 23
2.1 Yii简介 23
2.1.1 什么是Yii框架技术 23
2.1.2 优点 25
2.1.3 性能 26
2.1.4 应用案例 27
2.2 下载Yii 29
2.3 创建第一个Yii项目 32
2.4 输出“Hello World” 35
2.5 入口文件 37
2.6 应用(前端控制器) 38
2.7 MVC框架模式 38
2.8 Yii框架中的控制器 39
2.9 Yii框架中的视图 40
2.10 小结 41
第3章 布局 42
3.1 布局概述 42
3.2 项目实现迭代一:创建并使用布局渲染首页视图 43
3.3 CController类的render()方法执行流程 45
3.4 应用级布局 47
3.5 嵌套布局 48
3.6 项目实现迭代二:使用嵌套布局渲染“新闻中心”列表页 49
3.7 视图文件的存储路径 52
3.8 小结 54
第4章 模块 55
4.1 模块概述 55
4.2 使用Gii创建模块 56
4.3 模块中的资源文件 59
4.4 项目实现迭代三:文章管理 61
4.5 小结 63
第5章 ActiveRecord模型 64
5.1 模型的概念 64
5.2 ActiveRecord模型概述 65
5.3 通过CRUD(增查改删)操作理解CActiveRecord类 66
5.3.1 文章表(ds_article) 66
5.3.2 在配置文件中初始化数据库连接 67
5.3.3 创建ActiveRecord模型 67
5.3.4 通过查询操作理解CActiveRecord类 69
5.3.5 通过插入和更新操作理解CActiveRecord类 72
5.3.6 通过删除操作理解CActiveRecord类 74
5.4 小结 74
第6章 CActiveRecord模型类的查询方法 75
6.1 CActiveRecord类的find()方法与重载 75
6.2 查询方法find()实例 77
6.2.1 实现带有逻辑运算符和比较运算符的查询 77
6.2.2 实现范围比较查询 77
6.2.3 实现模糊查询 78
6.3 数据库查询条件类CDbCriteria 79
6.3.1 CDbCriteria成员属性介绍 79
6.3.2 CDbCriteria成员方法介绍 80
6.4 CActiveRecord类的其他查询方法 84
6.5 关联查询 86
6.6 项目实现迭代四:完成首页中的数据填充 87
6.6.1 实现幻灯片切换 88
6.6.2 实现成功案例 90
6.6.3 实现其他栏目的文章内容查询 91
6.7 小结 98
第7章 Widget(小物件) 99
7.1 调用小物件的两种方式 99
7.1.1 使用widget()方法调用小物件CJuiDatePicker 99
7.1.2 使用beginWidget()和endWidget()方法调用小物件CActiveForm 101
7.2 项目实现迭代五:使用CActiveForm小物件替换添加文章视图页面中的HTML表单标签 103
7.3 自定义小物件 106
7.3.1 继承CWidget 106
7.3.2 自定义小物件的MVC结构 108
7.4 项目实现迭代六:自定义首页幻灯片小物件 110
7.5 项目实现迭代七:分页显示列表页 112
7.5.1 分页组件CPagination 112
7.5.2 新闻中心列表页实现数据填充 114
7.5.3 分页的超链接列表小物件CLinkPager 116
7.5.4 对小物件的二次开发 118
7.6 小结 120
第8章 ActiveRecord模型验证 121
8.1 模型中编写验证规则 122
8.2 控制器中安全赋值 124
8.3 控制器中触发验证 125
8.4 视图中提取错误信息 127
8.5 项目实现迭代八:完成“添加文章”页面中的模型验证 128
8.6 小结 131
第9章 AJAX验证 132
9.1 AJAX简介 132
9.2 传统的JavaScript实现AJAX验证 133
9.2.1 创建AJAX引擎XMLHttpRequest对象 135
9.2.2 创建HTTP请求 136
9.2.3 设置响应HTTP请求状态变化的方法 137
9.2.4 设置获取服务器返回数据的语句 138
9.2.5 发送HTTP请求 139
9.3 jQuery实现AJAX验证 139
9.4 项目实现迭代九:完成“添加用户”页面中的AJAX验证 141
9.5 小结 144
第10章 用户登录 145
10.1 表单模型CFormModel 145
10.2 客户端验证 147
10.2.1 CActiveForm实现客户端验证源码分析 147
10.2.2 项目实现迭代十:完成登录页面的客户端验证 150
10.3 模型中的自定义方法作为rules()验证器 153
10.4 用于验证用户名和密码的身份类CUserIdentity 154
10.5 项目实现迭代十一:完成用户登录 157
10.6 保存用户登录状态的CWebUser类 160
10.7 小结 161
第11章 基于角色的访问控制 162
11.1 访问控制技术综述 162
11.2 RBAC概述 164
11.3 RBAC需求分析及功能概述 164
11.4 权限管理系统数据库设计 165
11.5 项目实现迭代十二:权限管理系统主要模块的实现 166
11.5.1 用户管理 166
11.5.2 角色管理 168
11.5.3 权限管理 170
11.5.4 用户-角色配置管理 175
11.5.5 角色-权限配置管理 175
11.6 Yii框架中RBAC的设计与实现 177
11.6.1 配置Srbac模块及授权管理组件 177
11.6.2 Srbac使用的数据库表 180
11.7 编写AdminController初步了解Srbac授权体系 181
11.7.1 管理授权项 182
11.7.2 分配授权项 186
11.7.3 用户已经获授权 188
11.8 测试Srbac验证授权流程 188
11.9 Srbac添加到实际项目中的应用 193
11.9.1 修改Srbac模块的视图布局 193
11.9.2 防止非管理员用户访问Srbac 195
11.9.3 验证访问权限 196
11.10 小结 197
第12章 Yii框架中Memcached缓存应用 199
12.1 初识Memcached 199
12.2 Memcached在Web中的应用 200
12.2.1 减小数据库查询的压力 201
12.2.2 对海量数据的处理 201
12.3 Memcached的安装及管理 202
12.3.1 安装Memcached软件 203
12.3.2 Memcached服务器的管理 204
12.4 使用Telnet作为Memcached的客户端管理 204
12.4.1 Telnet客户端连接Memcached服务器 205
12.4.2 连接Memcached服务器 205
12.4.3 基本的Memcached客户端命令 206
12.4.4 查看当前Memcached服务器的运行状态信息 206
12.4.5 数据管理指令 208
12.5 PHP的Memcached客户端扩展函数库 210
12.5.1 安装php_memcache.dll扩展函数库 210
12.5.2 相关扩展方法 213
12.5.3 实例应用 220
12.6 Yii框架CMemCache缓存组件 222
12.6.1 配置使用CMemCache缓存组件 222
12.6.2 CMemCache类部分构成 224
12.6.3 CMemCache实例 226
12.7 缓存依赖 227
12.8 片段缓存 230
12.8.1 片段缓存的起始和结束 230
12.8.2 小物件COutputCache类部分构成 232
12.8.3 项目实现迭代十三:产品中心栏目实现片段缓存 234
12.9 页面缓存 236
12.10 局部无缓存 240
12.11 Yii框架其他缓存组件介绍 241
12.12 小结 242
第13章 日志 243
13.1 Apache服务器的日志 243
13.1.1 访问日志的格式 244
13.1.2 错误日志的格式 248
13.1.3 日志的定制 249
13.2 PHP日志 252
13.2.1 PHP配置文件“php.ini” 252
13.2.2 通过配置文件生成日志 253
13.2.3 通过方法记录日志到指定文件 254
13.2.4 错误信息记录到操作系统的日志里 254
13.3 Yii框架的日志记录 256
13.3.1 在配置文件中设置日志保存路径 256
13.3.2 通过方法记录日志信息 259
13.4 小结 261
第14章 URL重写 262
14.1 关于URL 262
14.1.1 URL组成 262
14.1.2 良好URL设计原则 263
14.2 初步认识Apache重写模块 265
14.3 Yii框架的URL管理 268
14.3.1 创建URL 268
14.3.2 解析URL 271
14.3.3 URL模式 273
14.3.4 实现伪静态 274
14.3.5 带有正则表达式的URL规则 275
14.3.6 一个规则匹配多个路由 276
14.3.7 规则源码分析 278
14.4 隐藏入口文件index.php 287
14.4.1 再次使用Apache重写模块 287
14.4.2 RewriteCond指令详解 288
14.4.3 Yii框架创建URL时隐藏入口文件 294
14.5 小结 296
第15章 Yii 2.0介绍 297
15.1 命名空间 297
15.1.1 命名空间的基本应用 298
15.1.2 命名空间的子空间和公共空间 299
15.1.3 命名空间中的名称和术语 300
15.1.4 别名和导入 301
15.2 安装Yii 2.0 303
15.3 运行应用 305
15.4 输出“Hello World” 307
15.5 小结 309
附录 HTTP状态消息 310
Yii框架深度剖析 电子书 下载 mobi epub pdf txt