symfony权威指南PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(法)扎尼诺托等著;江乐等译
- 出 版 社:北京:电子工业出版社
- 出版年份:2008
- ISBN:9787121067495
- 页数:358 页
第1篇 基础知识 2
第1章 symfony介绍 2
1.1 symfony简介 2
1.1.1 symfony的功能 2
1.1.2 谁开发了symfony?为什么要开发symfony 3
1.1.3 symfony社区 4
1.1.4 symfony适合我吗 4
1.2 基本概念 5
1.2.1 PHP5 5
1.2.2 面向对象程序设计(OOP) 5
1.2.3 魔术方法(Magic Methods) 5
1.2.4 PHP扩展与应用程序库(PEAR) 6
1.2.5 对象关系映射(ORM) 6
1.2.6 快速应用程序开发(RAD) 7
1.2.7 YAML 8
1.3 总结 9
第2章 探索symfony代码 10
2.1 MVC模式 10
2.1.1 MVC层次 11
2.1.2 MVC以外的层分离方式 14
2.1.3 symfony的MVC实现方式 17
2.1.4 symfony核心类 19
2.2 代码组织 20
2.2.1 项目结构:应用程序、模块与动作 20
2.2.2 目录结构 21
2.3 常用工具 24
2.3.1 参数存储器(Parameter Holoder) 24
2.3.2 常量(Contant) 25
2.3.3 类自动载入(Class Autoloading) 26
2.4 总结 26
第3章 运行symfony 28
3.1 安装沙盒(Sandbox) 28
3.2 安装symfny库 29
3.2.1 PEAR方式安装symfony 30
3.2.2 从SVN库中获得symfony 31
3.3 配置一个程序 31
3.3.1 建立一个项目 31
3.3.2 建立一个应用程序 32
3.4 配置Web服务器 33
3.4.1 设置虚拟主机 33
3.4.2 配置一个共享服务器 34
3.5 安装问题 35
3.5.1 常见问题 35
3.5.2 symfony资源 36
3.6 源代码版本控制 36
3.7 总结 38
第4章 页面创建基础 39
4.1 建立模块框架 39
4.2 增加一个页面 41
4.2.1 增加一个动作 41
4.2.2 增加一个模板 42
4.2.3 从动作传递信息给模板 43
4.3 通过表单从用户获取数据 43
4.4 链接到另一个动作 45
4.5 从请求中取得信息 46
4.6 总结 47
第5章 配置symfony 48
5.1 配置系统 48
5.1.1 YAML语法与symfony惯例 49
5.1.2 救命,YAML文件把我的程序搞死了 51
5.2 配置文件概述 52
5.2.1 项目配置 52
5.2.2 应用程序配置 53
5.2.3 模块配置 55
5.3 环境 56
5.3.1 什么是环境 56
5.3.2 配置层叠 58
5.4 配置缓存 59
5.5 从代码里访问配置信息 60
5.5.1 sfConfig类 60
5.5.2 自定义应用程序配置与app.yml 62
5.6 使用配置文件的技巧 62
5.6.1 在YAML文件里使用常量 62
5.6.2 在配置文件里使用脚本 63
5.6.3 浏览你的YAML文件 63
5.7 总结 64
第2篇 核心架构 66
第6章 深入了解控制器层 66
6.1 前端控制器 66
6.1.1 前端控制器的工作细节 66
6.1.2 默认的前端控制器 67
6.1.3 调用其他的前端控制器来切换环境 67
6.1.4 批处理文件 68
6.2 动作(Action) 69
6.2.1 动作类 69
6.2.2 另一种动作类语法 70
6.2.3 从动作里获取信息 70
6.2.4 动作结束 71
6.2.5 跳到另一个动作 73
6.2.6 几个动作共享的代码 74
6.3 访问请求 75
6.4 用户会话 77
6.4.1 访问用户会话 77
6.4.2 Flash属性 78
6.4.3 会话管理 79
6.5 动作安全 80
6.5.1 访问限制 80
6.5.2 访问授权 81
6.5.3 复合证书 83
6.6 检验和处理错误的方法 83
6.7 过滤器 85
6.7.1 过滤器链 85
6.7.2 建立自己的过滤器 87
6.7.3 过滤器激活和参数 88
6.7.4 过滤器实例 89
6.8 模块配置 90
6.9 总结 90
第7章 深入了解视图层 91
7.1 模板 91
7.1.1 辅助函数(Helpers) 92
7.1.2 页面布局 94
7.1.3 模板快捷变量 96
7.2 代码片段(Code Fragments) 96
7.2.1 局部模板(Partial) 97
7.2.2 组件(Component) 98
7.2.3 槽(Slot) 100
7.3 视图配置 102
7.3.1 view.yml文件 103
7.3.2 响应对象 104
7.3.3 视图配置 105
7.4 组件槽(Component Slot) 109
7.5 输出转义(Output Escaping) 111
7.5.1 开启输出转义 111
7.5.2 转义策略 112
7.5.3 转义辅助函数 113
7.5.4 转义数组与对象 113
7.6 总结 114
第8章 深入了解模型层 115
8.1 为什么使用ORM和抽象层 115
8.2 symfony的数据库设计(schema) 116
8.2.1 设计示例 117
8.2.2 基本设计语法 117
8.3 模型类 118
8.3.1 基础类和自定义类 119
8.3.2 对象和Peer类 119
8.4 访问数据 120
8.4.1 获得列值 120
8.4.2 获得相关联的数据 121
8.4.3 保存和删除数据 122
8.4.4 通过主键来获得记录 122
8.4.5 通过Criteria获得数据 123
8.4.6 直接使用SQL查询语句 125
8.4.7 使用特殊日期列 126
8.5 数据库连接 127
8.6 扩展模型 128
8.6.1 增加新的方法 128
8.6.2 覆盖现有方法 129
8.6.3 使用模型行为 130
8.7 扩展设计(schema)语法 130
8.7.1 属性 130
8.7.2 列的详细资料 132
8.7.3 外键 133
8.7.4 索引 133
8.7.5 空列 134
8.7.6 il8n表 134
8.7.7 超越schema.yml:schema.xml 135
8.8 不要重复建立模型 136
8.8.1 基于已有的设计建立一个SQL数据库结构 136
8.8.2 基于已有数据库建立YAML数据模型 137
8.9 总结 138
第3篇 特殊功能 140
第9章 链接和路由系统 140
9.1 什么是路由 140
9.1.1 URL是服务器指令 140
9.1.2 URL是界面的一部分 141
9.1.3 URL如何工作 142
9.2 URL重写 144
9.3 链接辅助函数 145
9.3.1 超链接、按钮和表单 145
9.3.2 链接辅助函数的可选参数 146
9.3.3 伪装的GET和POST选项 147
9.3.4 把请求参数强制设置为GET变量 148
9.3.5 使用绝对路径 149
9.4 路由配置 150
9.4.1 规则和模式 150
9.4.2 模式限制 151
9.4.3 设置默认值 153
9.4.4 用规则名字来加快路由速度 153
9.4.5 增加.html扩展名 154
9.4.6 不使用routing.yml创建规则 155
9.5 在动作中处理路由 155
9.6 总结 156
第10章 表单 157
10.1 表单辅助函数 157
10.1.1 主要的表单标签 157
10.1.2 标准的表单元素 158
10.1.3 日期输入控件 161
10.1.4 编辑富文本(rich text) 162
10.1.5 选择国家和语言 163
10.2 对象的表单辅助函数 164
10.2.1 生成对象的下拉列表 165
10.2.2 创建一个基于外键列的下拉列表 165
10.2.3 更新对象 167
10.3 表单验证 167
10.3.1 验证器 168
10.3.2 验证文件 169
10.3.3 重新显示表单 170
10.3.4 在表单中显示出错信息 171
10.3.5 重新填充表单数据 172
10.3.6 标准symfony验证器 173
10.3.7 具名验证器(Named Validator) 176
10.3.8 重新指定验证方法 177
10.3.9 验证文件到底是什么样子 177
10.4 复杂的验证 178
10.4.1 创建一个定制的验证器 178
10.4.2 用数组表示表单域 180
10.4.3 验证空域 180
10.5 总结 181
第11章 集成Ajax 182
11.1 基本的JavaScript辅助函数 182
11.1.1 模板中的JavaScript 183
11.1.2 更新一个DOM元素 184
11.1.3 轻松地降级(Graceful Degradation) 185
11.2 Prototype 185
11.3 Ajax辅助函数 186
11.3.1 Ajax链接 188
11.3.2 Ajax驱动的表单 188
11.3.3 周期性调用远程函数 191
11.4 远程调用参数 191
11.4.1 根据响应状态更新不同的元素 191
11.4.2 根据位置更新元素 192
11.4.3 根据条件更新元素 192
11.4.4 确定Ajax请求方法 193
11.4.5 授权脚本运行 193
11.4.6 创建回调函数 193
11.5 创建视觉效果 194
11.6 JSON 195
11.7 用Ajax完成复杂的交互 197
11.7.1 自动完成 197
11.7.2 拖放 198
11.7.3 可排序列表 199
11.7.4 就地编辑 200
11.8 总结 201
第12章 缓存 202
12.1 缓存响应 202
12.1.1 全局缓存设置 202
12.1.2 缓存一个动作 203
12.1.3 缓存一个局部模板、组件或者组件槽 204
12.1.4 缓存模板片段 205
12.1.5 动态配置缓存 207
12.1.6 使用极速缓存(Super Fast Cache) 208
12.2 从缓存里删除项目 209
12.2.1 删除整个缓存 209
12.2.2 清除指定的缓存 210
12.2.3 缓存目录结构 212
12.2.4 手工清除缓存 212
12.3 缓存测试与监测 213
12.3.1 建立一个临时工作环境 213
12.3.2 监测性能 214
12.3.3 基准化分析(Benchmarking) 214
12.3.4 识别缓存的部分 214
12.4 HTTP 1.1与客户端缓存 215
12.4.1 增加ETag头信息来避免发送重复的内容 215
12.4.2 增加Last-Modified头信息避免发送仍然有效的内容 215
12.4.3 通过增加Vary头信息来保存一个页面的多个缓存版本 216
12.4.4 通过增加Cache-Control头信息来允许客户端缓存 216
12.5 总结 217
第13章 国际化(i18n)与本地化(l10n) 218
13.1 用户的国家和语言(User Culture) 218
13.1.1 设置默认的国家和语言 218
13.1.2 改变用户的国家和语言 219
13.1.3 自动确定用户的国家和语言 220
13.2 标准与格式 220
13.2.1 根据用户culture值输出数据 220
13.2.2 从本地化输入获取数据 221
13.3 数据库中的文本信息 222
13.3.1 创建本地化数据库设计(schema) 222
13.3.2 运用生成的i18n对象 223
13.4 界面翻译 224
13.4.1 翻译的配置 224
13.4.2 运用翻译辅助函数 224
13.4.3 运用字典文件 225
13.4.4 管理字典 226
13.4.5 处理其他需要翻译的元素 226
13.4.6 处理复杂的翻译需求 227
13.4.7 在模板外调用翻译辅助函数 228
13.5 总结 228
第4篇 开发工具 230
第14章 生成器(Generator) 230
14.1 基于模型生成代码 230
14.1.1 脚手架与管理界面 230
14.1.2 初始化或生成代码 231
14.1.3 数据模型示例 231
14.2 脚手架 232
14.2.1 生成脚手架 232
14.2.2 初始化脚手架 234
14.3 管理界面 234
14.3.1 初始化管理界面模块 235
14.3.2 初探生成的代码 236
14.3.3 generator.yml配置文件 236
14.4 配置生成器 238
14.4.1 字段 238
14.4.2 视图定制 243
14.4.3 List视图相关的定制 245
14.4.4 edit视图相关的定制 249
14.4.5 处理外键 252
14.4.6 增加交互 253
14.4.7 表单验证 255
14.4.8 使用证书限制用户动作 256
14.5 修改生成模块的外观 256
14.5.1 使用自定义样式表 256
14.5.2 增加自定义头部与尾部 257
14.5.3 自定义主题 258
14.6 总结 259
第15章 单元测试和功能测试 260
15.1 自动化测试 260
15.1.1 单元测试和功能测试 260
15.1.2 测试驱动的开发方法 261
15.1.3 Lime测试框架 262
15.2 单元测试 262
15.2.1 单元测试概述 262
15.2.2 单元测试方法 263
15.2.3 测试参数 265
15.2.4 测试单元任务 266
15.2.5 测试桩(Stub)、测试资源(Fixture)和自动加载 267
15.3 功能测试 269
15.3.1 功能测试概要 269
15.3.2 用sfTestBrowser对象浏览 271
15.3.3 运用断言 273
15.3.4 运用CSS选择器 275
15.3.5 在测试环境中工作 276
15.3.6 功能测试任务 277
15.4 为测试命名 278
15.5 特别的测试需求 279
15.5.1 在测试框架(Test Harness)中进行测试 279
15.5.2 存取数据库 280
15.5.3 测试缓存 280
15.5.4 测试客户端交互 281
15.6 总结 283
第16章 应用程序管理工具 284
16.1 日志 284
16.1.1 PHP日志 284
16.1.2 symfony日志 285
16.2 调试 287
16.2.1 symfony调试模式 287
16.2.2 symfony异常 288
16.2.3 Xdebug扩展 289
16.2.4 网页调试工具条 290
16.2.5 手动调试 293
16.3 填充数据库 295
16.3.1 fixture文件格式 295
16.3.2 导入数据 295
16.3.3 使用关联表 296
16.4 部署应用程序 297
16.4.1 为FTP传输冻结项目 297
16.4.2 使用rsync进行增量文件传输 297
16.4.3 忽略无关文件 299
16.4.4 管理投入使用的应用程序 300
16.5 总结 301
第17章 扩展symfony 302
17.1 Mixins 302
17.1.1 理解多重继承 302
17.1.2 Mixing类 303
17.1.3 声明一个类是可扩展的 304
17.1.4 注册扩展(Extension) 306
17.1.5 更精确的扩展 308
17.2 factory 309
17.3 桥接其他框架组件 310
17.4 插件 312
17.4.1 查找symfony插件 312
17.4.2 安装插件 313
17.4.3 解读插件 315
17.4.4 如何写一个插件 318
17.5 总结 324
第5篇 成为symfony专家 326
第18章 性能 326
18.1 调整服务器 326
18.2 调整模型 327
18.2.1 优化Propel整合 327
18.2.2 限制化合(Hydrate)对象数量 328
18.2.3 用Join让结果数量最小化 328
18.2.4 避免使用临时数组 330
18.2.5 绕过ORM 331
18.2.6 数据库加速 332
18.3 调整视图 334
18.3.1 使用最快的代码片段 334
18.3.2 加速路由过程 334
18.3.3 略过模板 335
18.3.4 限制默认的辅助函数 335
18.3.5 压缩响应 335
18.4 调整缓存 336
18.4.1 选择性地清除部分缓存 336
18.4.2 生成缓存页 337
18.4.3 使用数据库存储系统进行缓存 338
18.4.4 绕过symfony 338
18.4.5 缓存函数调用的结果 338
18.4.6 在服务器上缓存数据 339
18.5 屏蔽未使用过的功能 340
18.6 优化你的代码 341
18.6.1 核心编译 341
18.6.2 sfOptimizer插件 342
18.7 总结 342
第19章 管理symfony配置文件 343
19.1 symfony配置参数 343
19.1.1 默认的模块和动作 343
19.1.2 激活可选特性 345
19.1.3 功能特性配置 346
19.2 扩展自动载入功能 348
19.3 定制文件结构 350
19.3.1 基本的文件结构 351
19.3.2 定制文件结构 352
19.3.3 修改项目的Web根目录 352
19.3.4 连接symfony库 353
19.4 理解配置处理器 354
19.4.1 默认的配置处理器 354
19.4.2 加入你自己的处理器 355
19.5 控制PHP参数 357
19.6 总结 358
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《重庆市绿色建筑评价技术指南》重庆大学,重庆市建筑节能协会绿色建筑专业委员会主编 2018
- 《ESG指标管理与信息披露指南》管竹笋,林波,代奕波主编 2019
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《羊脂球 莫泊桑短篇小说选》(法)莫泊桑著;张英伦译 2010
- 《海洋文明小史》倪谦谦责编;王存苗译;(法)雅克·阿塔利 2020
- 《包法利夫人》(法)福楼拜著;许渊冲译 2019
- 《梵蒂冈地窖》(法)安德烈·纪德著 2018
- 《莎士比亚全集 2》(英)莎士比亚著,朱生豪等译 2002
- 《公主小姐不想吃饭》(法)克里斯汀·诺曼·维拉蒙著(法)玛丽安娜·巴尔西隆绘苏迪译 2019
- 《液固旋流分离新技术》中国化工学会组织编写;汪华林等著 2019
- 《社会资本与村庄治理转型的社区机制》张国芳等著 2019
- 《世界名著阅读经典 欧也妮·葛朗台 高老头 全译本 12-16岁》(法)巴尔扎克著 2017
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017