《PHP MVC开发实战》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:李开涌编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111428527
  • 页数:600 页
图书介绍:MVC是一种先进的开发模式,能够解决团队开发之间协同配合的问题,使得网站各部件以更高的效率运行。MVC模式将网站分为3大部件,分别为模型、视图、控制器。这3大部件各自分离,但又相互依存,最终形成了一个容易维护、容易扩展、高效运行的网站平台。对于后台程序员,借助于MVC模式就可以更加专注于功能的实现,而不需要太多地涉及页面及前端。这种分工协作的最终目的是提高开发效率及项目质量。对于个人项目,也许在其他编程技术中(例如Java、Python),MVC模式并没有优势。但在PHP中,由于支持混合编程,所以使用MVC模式进行编程,无时无刻都在见证着工作效率的提升。本书是国内第一本专门介绍PHP MVC开发模式的图书,全书围绕MVC实现思路进行细致的讲解。通过MVC编程模式,以点带面,全面深入PHP核心技术进行探讨。同时,本书也是一本深入介绍PHP高性能的网站的图书,通过MVC的数据库中间件,我们就可以轻松实现网站群体、读写分离等高级应用,本书在此基础上还会进一步介绍当前流行的NoSql应用,全文搜索应用等。最后,作者通过一个自行编写的MVC框架,引导读者开发属于自己的PHP MVC框架。通过本书

基础篇 2

第1章 开发前准备 2

1.1 PHP与MVC概述 3

1.2开发环境搭建 7

1.2.1在Windows下使用一键安装包 8

1.2.2在Linux平台安装LNMP 11

1.3开发工具介绍 20

1.3.1 PHP Coder 20

1.3.2 PHP Editor 21

1.3.3 NetBeans IDE 21

1.3.4 Eclipse PDT 22

1.3.5 Zend Studio 24

1.3.6 Adobe Dreamweaver 25

1.3.7 VS.PHP 27

1.4 SVN版本控制 28

1.4.1 SVN介绍 28

1.4.2 SVN的安装 29

1.4.3 TortoiseSVN的简单使用 32

1.4.4 TortoiseSVN文件管理 35

1.4.5 SVN版本库权限配置 38

1.5小结 40

第2章 面向对象基础 41

2.1面向对象介绍 42

2.2 PHP面向对象基础 43

2.2.1 class关键字 43

2.2.2类中的成员 44

2.2.3实例化类 46

2.3类中的方法 47

2.3.1方法的参数 47

2.3.2方法的返回值 48

2.3.3访问修饰符 49

2.3.4 $this关键字 50

2.4类的继承 50

2.4.1子类继承父类 51

2.4.2重写父类中的成员属性 52

2.4.3 final关键字 53

2.5静态类成员 54

2.5.1 static关键字 54

2.5.2访问静态类成员(self :parent:) 55

2.5.3类常量 57

2.6小结 58

第3章 类的高级特性 59

3.1类对象的克隆(clone) 60

3.2类接口(interface) 60

3.2.1接口的意义 60

3.2.2定义接口 61

3.2.3实现接口(implements) 62

3.3抽象类与抽象方法 64

3.3.1理解抽象概念 65

3.3.2定义抽象类和方法(abstract) 65

3.3.3使用抽象类 66

3.3.4接口与抽象类的区别 67

3.4类的异常 68

3.4.1 Exception类 68

3.4.2使用try、 catch、 throw语句 69

3.5小结 70

实战篇 72

第4章 PHP MVC发展状况 72

4.1出身豪门的Zend Framework 73

4.1.1 Zend Framework简介 73

4.1.2安装Zend Framework 73

4.1.3使用Zend Framework实现MVC 75

4.1.4 Zend Framework核心组件 76

4.2功能强大的Symfony 80

4.2.1 Symfony简介 80

4.2.2获得Symfony 81

4.2.3实现一个简单的MVC 82

4.2.4 Symfony的配置文件 85

4.3灵活完善的CakePHP 85

4.3.1 CakePHP简介 85

4.3.2下载安装CakePHP 86

4.3.3使用CakePHP构建MVC编程 86

4.3.4好用的CakePHP视图助手 89

4.4使用广泛的CodeIgniter 89

4.4.1 CodeIgniter简介 89

4.4.2安装CodeIgniter 90

4.4.3使用CodeIgniter实现MVC 91

4.5高效便捷的ThinkPHP 94

4.5.1 ThinkPHP介绍 94

4.5.2下载安装ThinkPHP 95

4.5.3使用ThinkPHP实现MVC 96

4.5.4高效的 ThinkPHP视图引擎 98

4.6小结 100

第5章 ThinkPHP开发入门 101

5.1大道至简、开发由我 102

5.1.1入口文件 102

5.1.2两种创建项目的方式 103

5.1.3模块分组 104

5.2 ThinkPHP目录 106

5.2.1系统目录 106

5.2.2项目目录 110

5.3配置文件 111

5.3.1选项配置 111

5.3.2静态缓存配置 113

5.3.3路由配置 115

5.4小结 115

第6章 ThinkPHP开发MVC应用 116

6.1 ThinkPHP中的URL 117

6.1.1 URL模式 117

6.1.2 URL路由 119

6.1.3自动生成匹配的URL 121

6.1.4实现文件伪静态 122

6.2模型(Model) 123

6.2.1创建模型 123

6.2.2实例化模型 124

6.2.3模型初始化(_initialize()) 125

6.3控制器(Controller) 126

6.3.1创建控制器 126

6.3.2控制器中的动作(Action) 126

6.3.3控制器的调用 128

6.3.4项目空控制器与控制器空动作 129

6.3.5动作的前后操作 131

6.4视图(View) 132

6.4.1创建和使用视图 132

6.4.2系统变量与常量 133

6.4.3在视图中使用函数 134

6.4.4数据循环 135

6.4.5条件判断 138

6.4.6使用外部文件 141

6.4.7导入标签库 142

6.4.8使用布局 145

6.5小结 147

第7章 ThinkPHP的数据库操作 148

7.1定义数据表模型 149

7.1.1模型映射 149

7.1.2自定义模型 149

7.1.3 create方法 151

7.1.4模型属性 154

7.2基础模型(Model) 158

7.2.1连贯操作 159

7.2.2 CURD 159

7.2.3查询语言 163

7.2.4使用原生的SQL语言 166

7.3关联模型(RelationModel) 167

7.3.1关联关系 167

7.3.2关联定义 168

7.3.3关联模型的CURD 169

7.4高级模型(AdvModel) 174

7.4.1定位查询 174

7.4.2动态查询 175

7.4.3内容存文本 176

7.5大数据支持 176

7.5.1分布式数据库 177

7.5.2读写分离 179

7.5.3数据表分区 183

7.6小结 187

第8章 安全与调试 188

8.1构建稳健及安全的MVC 189

8.2 ThinkPHP内置的安全机制 189

8.2.1表单令牌 189

8.2.2字段检测 190

8.2.3数据验证 193

8.2.4数据验证码 197

8.3 ThinkPHP安全日志机制 201

8.3.1记录方式 201

8.3.2系统日志 202

8.3.3应用日志 202

8.4使用消息队列机制 204

8.4.1 HTTPSQS基础 204

8.4.2安装HTTPSQS 205

8.4.3测试HTTPSQS 207

8.4.4在MVC中使用HTTPSQS 209

8.5 ThinkPHP程序调试机制 212

8.5.1开启调试功能 212

8.5.2代码编译概念 214

8.5.3异常定制 215

8.5.4性能调试 216

8.6小结 218

第9章 ThinkPHP功能库 220

9.1数据处理 221

9.1.1 XML引擎 221

9.1.2返回XML 228

9.1.3返回Json 232

9.1.4使用Json及Jsonp 235

9.2 ThinkPHP函数库 241

9.2.1快捷方法 241

9.2.2基础函数库 242

9.2.3扩展函数库 245

9.3 ThinkPHP多语言支持 248

9.3.1部署多语言 248

9.3.2实现多语言 249

9.3.3多语言与客户端 250

9.4客户端 252

9.4.1封装的Session 252

9.4.2封装的Cookie 256

9.5小结 257

第10章 网站静态化 259

10.1 Cache类 260

10.1.1缓存的方式 260

10.1.2开启缓存 260

10.1.3安装Memcached 261

10.1.4使用Memcached 265

10.2 Memcached实战应用 267

10.2.1页面局部缓存 267

10.2.2缓存数据集 267

10.2.3使用Memcache存放Session 270

10.3使用Redis缓存 274

10.3.1 Redis的安装 274

10.3.2安装Redis扩展 277

10.3.3测试Redis 279

10.3 4 Redis缓存 279

10.4静态缓存 282

10.4.1静态缓存配置 282

10.4.2静态缓存规则 283

10.5小结 286

第11章 ThinkPHP扩展 287

11.1使用扩展 288

11.1.1扩展的分类 288

11.1.2模板引擎扩展 291

11.2网络操作 293

11.2.1文件上传 293

11.2.2 Nginx文件上传进度 295

11.2.3 FTP文件上传 304

11.2.4下载文件 305

11.2.5 Socket套接字编程 306

11.2.6定位当前位置 308

11.2.7发送电子邮件 309

11.3数据处理 311

11.3.1数据加密 311

11.3.2数据编码转换 313

11.3.3数据分页 314

11.3.4日期数据 315

11.3.5 Input类 317

11.3.6 GD库绘制图形 318

11.4行为扩展 320

11.4.1行为概述 320

11.4.2内置行为扩展 322

11.4.3自定义行为扩展 323

11.5小结 325

第12章 SOAP分布式开发 326

12.1分布式开发概念 327

12.1.1 SOA与SOAP 327

12.1.2 PHP 5分布式开发 329

12.2 SOAP消息体 331

12.2.1 WSDL文件 331

12.2.2定义根消息体definitions 335

12.2.3 type类型 335

12.2.4 portType端口类型 336

12.2.5 message消息列表 337

12.2.6 binding服务绑定描述 337

12.2.7 service服务描述 338

12.2.8可视化创建WSDL 338

12.2.9使用nusoap创建WSDL 341

12.2.10 ThinkPHP生成SOAP服务 343

12.3使用soapUI测试WSDL 347

12.3.1 soapUI简介 347

12.3.2安装soapUI 348

12.3.3创建项目 349

12.3.4测试项目 350

12.3.5负载测试 351

12.4小结 353

第13章 整合Smarty模板引擎 354

13.1 Smarty模板引擎介绍 355

13.2使用Smarty 356

13.2.1在PHP中使用Smarty 356

13.2.2开启ThinkPHP模板扩展 358

13.2.3以扩展的方式使用全功能Smarty 358

13.3 Smarty模板函数和标签 360

13.3.1 include(包含文件) 361

13.3.2 capture(暂存数据) 361

13.3.3 include_php(包含PHP文件) 362

13.3.4 insert(插入函数) 362

13.3.5 literal(原文本输出) 363

13.3.6 php(执行PHP语句块) 363

13.3.7 strip(保留空格和回车符) 364

13.4 Smarty模板控制语句 364

13.4.1 if、elseif(判断语句) 364

13.4.2 foreach(循环数据) 365

13.4.3 section(遍历数组) 366

13.5变量调节器 367

13.5.1 capitalize(首字母大写) 367

13.5.2 count characters(统计字符) 367

13.5.3 count_paragraphs(统计段落) 367

13.5.4 count sentences(统计句数) 368

13.5.5 count words(统计单词) 368

13.5.6 date_ format(格式化日期) 368

13.5.7 escape(字符转码) 369

13.5.8 replace(字符替换) 369

13.5.9 regex_replace(正则替换) 370

13.5.10 truncate(字符截取) 370

13.6视图助手 370

13.6.1 html_image(生成图像) 370

13.6.2 html_options(生成表单选择组件) 371

13.6.3 html radios(生成表单单选组件) 372

13.6.4 html checkboxes(生成表单复选组件) 373

13.6.5 html select date(生成表单日期选择组件) 374

13.6.6 html select time(生成表单时间选择组件) 376

13.6.7 html table(生成表格) 377

13.7 Smarty对象方法 378

13.7.1 display(显示模板) 378

13.7.2 fetch(获取输出内容) 379

13.7.3 configLoad(加载配置信息) 379

13.7.4 registerPlugin(注册插件) 380

13.8 Smarty缓存 383

13.8.1开启缓存 383

13.8.2局部缓存 384

13.9小结 386

第14章 整合Coreseek全文搜索服务 387

14.1全文索引概述 388

14.2 Coreseek基础 389

14.2.1 Coreseek概述 389

14.2.2在Windows下安装Coreseek 390

14.2.3在Linux下安装Coreseek 394

14.3 Coreseek管理工具 397

14.3.1 indexer 397

14.3.2 searchd 400

14.3.3 search 402

14.4创建索引 403

14.4.1索引源分类 403

14.4.2增量索引 407

14.4.3实时索引 409

14.5在MVC中搜索数据 412

14.5.1安装Sphinx扩展模块 412

14.5.2使用PHP接口 413

14.5.3在MVC中搜索数据 414

14.5.4实现关键词高亮显示 418

14.6小结 420

第15章 使用MongoDB 421

15.1 MongoDB介绍 422

15.2 MongoDB的安装 424

15.2.1在Windows下安装MongoDB 424

15.2.2在Linux下安装MongoDB 426

15.3 MongoDB的使用 428

15.3.1理解MongoDB的数据结构 428

15.3.2数据库管理 429

15.3.3文档数据类型 430

15.3.4插入数据 432

15.3.5查询数据 433

15.3.6更新数据 436

15.3.7删除数据 436

15.4条件操作 437

15.4.1条件判断语句 437

15.4.2 $all匹配全部 438

15.4.3 $exists检查字段 438

15.4.4 null空值处理 439

15.4.5 $ne比较 439

15.4.6 $mod取模运算 440

15.4.7 $in、 nin枚举查询 440

15.4.8 $or、 $nor判断查询 441

15.4.9 $type映射查询 442

15.4.10使用正则表达式匹配 442

15.4.11 limit、skip限制查询 443

15.4.12 count查询记录条数 444

15.4.13 sort查询结果排序 444

15.5性能优化 445

15.5.1使用索引 445

15.5.2固定集合 448

15.5.3 GridFS 450

15.5.4 Profile优化器 450

15.6在MVC中使用MongoDB 451

15.6.1安装PEP扩展 451

15.6.2开启MongoDB用户验证 453

15.6.3 ThinkPHP操作MongoDB 455

15.7小结 459

第16章 Redis实战 460

16.1 Redis的使用 461

16.1.1 Redis概述 461

16.1.2常用管理命令 462

16.1.3 Redis用户验证 464

16.2 Redis数据类型 465

16.2.1 String类型 465

16.2.2 Hash类型 467

16.2.3 List类型 469

16.2.4 Sets类型 473

16.2.5 Zset类型 477

16.2.6使用phpRedisAdmin 480

16.3 Redis高级使用 483

16.3.1数据持久化 483

16.3.2虚拟内存 484

16.3.3事务处理 484

16.3.4主从同步 486

16.4在MVC中使用Redis 487

16.4.1在pHp中使用Redis 487

16.4.2在MVC中进行CURD操作 491

16.4.3数据分页 496

16.5小结 498

项目篇 500

第17章 开发论坛系统 500

17.1开发前准备 501

17.1.1系统介绍 501

17.1.2系统预览 501

17.1.3架构设计 505

17.1.4系统部署 511

17.2系统整体界面设计 513

17.2.1布局方案 514

17.2.2论坛首页 516

17.2.3论坛版块 519

17.3用户模块 524

17.3.1用户登录 524

17.3.2用户注册 528

17.3.3使用微博账号登录 532

17.3.4将现有账号绑定到微博 535

17.4发表帖子模块 537

17.4.1整合百度编辑器 537

17.4.2上传图片 540

17.4.3管理图片 542

17.4.4上传附件 543

17.4.5数据提交处理 544

17.5帖子内容模块 545

17.5.1帖子正文 545

17.5.2回复列表 547

17.5.3回复帖子 550

17.6帖子管理模块 551

17.6.1删除帖子 551

17.6.2锁定帖子 553

17.6.3置顶帖子 554

17.6.4推荐帖子 554

17.7行为拦截器 555

17.7.1统计浏览量 555

17.7.2登记浏览位置 556

17.8帖子搜索模块 557

17.8.1标题搜索 557

17.8.2使用全文搜索 558

17.9小结 562

第18章 开发自己的MVC框架 563

18.1开发前准备 564

18.1.1开发MVC框架的思路 564

18.1.2文件结构 564

18.2核心类库 565

18.2.1初始化 565

18.2.2 URL处理 566

18.3控制器的开发 567

18.3.1类自动载入 568

18.3.2加载模板引擎(View) 569

18.3.3处理消息(message) 569

18.4模型的开发 572

18.4.1使用PDO 572

18.4.2模型实例化 573

18.4.3实现连贯操作 573

18.4.4读取数据 574

18.4.5插入数据 576

18.4.6更新数据 577

18.4.7删除数据 578

18.5扩展类库 582

18.5.1 Session驱动扩展 583

18.5.2缓存驱动扩展 586

18.6测试MVC框架 588

18.6.1创建项目 589

18.6.2测试CURD 590

18.6.3测试驱动 594

18.7小结 595

附录 596

附录A让Nginx支持Pathinfo模式 596

附录B配置团队开发环境 597