目录

MVC基础篇 

第1章    开发前准备

1.1    PHPMVC概述

1.2  开发环境搭建

1.2.1  Windows下使用一键安装包

1.2.2  Linux平台安装LNMP

1.3  开发工具介绍

1.3.1  PHP Coder

1.3.2  PHP Editor

1.3.3  NetBeans IDE

1.3.4  Eclipse PDT

1.3.5  Zend Studio

1.3.6  Adobe Dreamweaver

1.3.7  VS.PHP

1.4  SVN版本控制

    1.4.1  SVN介绍

1.4.2  SVN的安装

1.4.3  TortoiseSVN的简单使用

1.4.4  TortoiseSVN的文件管理

1.4.5  SVN版本库权限配置

1.5  小结

2  面向对象基础

2.1  面向对象介绍

2.2  PHP面向对象基础

              2.2.1  Class关键字

              2.2.2  类中的成员

              2.2.3  实例化类

2.3  类中的方法

       2.3.1  方法的参数

2.3.2  方法的返回值

2.3.3  访问修饰符

2.3.4  $this关键字

2.4  类的继承

2.4.1  子类继承父类

2.4.2  重写父类中的成员属性

2.4.3  final关键字

2.5  静态类成员

2.5.1  static关键字

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

2.5.3  类常量

2.6  小结

3  类的高级特性

3.1  类对象的刻隆(clone

3.2  类接口(interface

3.2.1  接口的意义

3.2.3  定义接口(interface)

3.2.4  实现接口(implements

3.3  抽象类与抽象方法

3.3.1  理解抽象概念

3.3.2  定义抽象类和方法(abstract

3.3.3  使用抽象类

3.3.4  抽象类与接口的区别

3.4  类的异常

3.4.1  Exception

3.4.2  使用trycatchthrow语句

3.5 小结

MVC实战篇

4  PHP MVC发展状况

4.1  出身豪门的Zend Framework

    4.1.1  Zend Framework简介

4.1.2  安装Zend Framework

4.1.3  使用Zend Framework实现MVC

4.1.4  Zend Framework核心组件

4.2  功能强大的Symfony

4.2.1  Symfony简介

4.2.2  获得Symfony

4.2.3  实现一个简单的MVC

4.2.4  Symfony的配置文件

4.3  灵活完善的CakePHP

4.3.1  CakePHP简介

4.3.2  下载安装CakePHP

4.3.3   使用CakePHP构建MVC编程

4.3.5   好用的CakePHP视图助手

4.4  使用广泛的CodeIgniter

4.4.1  CodeIgniter简介

4.4.2  安装CodeIgniter

4.4.3  CodeIgniter实现MVC

4.5  高效便捷的ThinkPHP

4.5.1  ThinkPHP介绍

4.5.2  下载安装ThinkPHP

4.5.3  ThinkPHP实现MVC

4.5.4  高效的ThinkPHP视图引擎

4.6  小结

5  ThinkPHP开发入门

5.1  大道至简 开发由我

5.1.1  入口文件

5.1.2  两种创建项目的方式

5.1.3  模块分组

5.2  ThinkPHP目录

5.2.1  系统目录

5.2.2  项目目录

5.3  配置文件

5.3.1  选项配置

5.3.2  静态缓存配置

5.3.3  路由配置

5.4  小结

6  ThinkPHP开发MVC应用

6.1  ThinkPHP中的URL

6.1.1  URL模式

6.1.2  URL路由

6.1.3  自动生成匹配的URL

6.1.4  实现文件伪静态

6.2  模型(Model)

6.2.1  创建模型

6.2.2  实例化模型

6.2.3  模型初始化(_initialize()

6.3  控制器(Controller

6.3.1  创建控制器

        6.3.2   控制器中的动作(Action

        6.3.3   控制器的调用

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

        6.3.5   动作的前后操作

6.4  视图(View

6.4.1  创建和使用视图

6.4.2  系统变量与常量

6.4.3  在视图中使用函数

6.4.4  数据循环

6.4.5  条件判断

6.4.6  使用外部文件

        6.4.7   导入标签库

6.4.8   使用布局

6.4  小结

7  ThinkPHP的数据库操作

7.1  定义数据表模型

7.1.1  模型映射

7.1.2  自定义模型

7.1.3  create方法

7.1.4  模型属性

7.2  基础模型(Model

7.2.1  连贯操作

7.2.2  CURD

7.2.3  查询语言

7.2.4  使用原生的SQL语言

7.3  关联模型(RelationModel

7.3.1  关联关系

7.3.2  关联定义

7.3.3  关联模型的CURD

7.4  高级模型(AdvModel

7.4.1  定位查询

7.4.2  动态查询

7.4.3  内容存文本

7.5  大数据支持

    7.5.1  分布式数据库                     

7.5.2  读写分离

7.5.3  数据表分区     

7.4  小结

8  安全与调试

8.1  构建稳健及安全的MVC

8.2  ThinkPHP内置的安全机制

8.2.1  表单令牌

8.2.2  字段检测

8.2.3  数据验证

        8.2.4   数据验证码

8.3  ThinkPHP安全日志机制

8.3.1   记录方式

8.3.2   系统日志

8.3.3   应用日志

8.4  使用消息队列机制

8.4.1   HTTPSQS基础

8.4.2   安装HTTPSQS

8.4.3   测试HTTPSQS

8.4.4  MVC中使用HTTPSQS

8.5  ThinkPHP程序调试机制

8.5.1   开启调试功能

8.5.2   代码编译概念

8.5.3   异常定制

8.5.4   性能调试

8.4  小结

9  ThinkPHP功能库

9.1  数据处理

9.1.1  XML处理

9.1.2  返回XML

9.1.3  返回Json

9.1.4  使用JsonJsonp

9.2  ThinkPHP函数库

9.2.1  快捷方法

9.2.2  基础函数库

9.2.3  扩展函数库

9.3  ThinkPHP多语言支持

9.3.1  部署多语言

9.3.2  实现多语言

9.3.3  多语言与客户端

9.4  客户端

9.4.1  封装的Session

9.4.2  封装的Cookie

12.5  小结

10  网站静态化

10.1  Cache

    10.1.1  缓存的方式

10.1.2   开启缓存  

10.1.3  安装Memcached

10.1.4  使用Memcached

10.2  Memcached实战应用

10.2.1  页面局部缓存

10.2.2  缓存数据集

10.2.3   使用Memcache存放Session

10.3  使用Redis缓存 

10.3.1  Redis的安装

10.3.2  安装Redis扩展

10.3.3  测试Redis

10.3.4  Redis缓存

10.4  静态缓存

10.4.1  静态缓存配置

10.4.2  静态缓存规则

10.5  小结

11  ThinkPHP扩展

11.1  使用扩展

11.1.1  扩展的分类

11.1.2  模版引擎扩展

11.2  网络操作

11.2.1  文件上传

11.2.2  Nginx文件上传进度

11.2.3  FTP文件上传

11.2.4  文件下载

11.2.5  Socket套接字编程

11.2.6  定位当前位置

11.2.7  发送电子邮件

11.3  数据处理

11.3.1  数据加密

11.3.2  数据编码转换

11.3.3  数据分页

11.3.4  日期数据

11.3.5  Input

11.3.6  GD库绘制图形

11.4  行为扩展

11.4.1  行为概述

11.4.2  内置行为扩展

11.4.3  自定义行为扩展

11.5  小结

12  SOAP分布式开发

12.1  分布式开发概念

12.1.1  SOASOAP

12.1.2  PHP 5分布式开发

12.2  SOAP消息体

12.2.1  WSDL文件

12.2.2  定义根消息体definitions

12.2.3  type类型

12.2.4  portType端口类型

12.2.5  message消息列表

12.2.6  binding服务绑定描述

12.2.7  service服务描述

12.2.8  可视化创建WSDL

12.2.9  使用nusoap创建WSDL

12.2.10  ThinkPHP生成SOAP服务

12.3  使用soapUI测试WSDL

12.3.1  soapUI简介

12.3.2  安装soapUI

12.3.3  创建项目

12.3.4  测试项目

12.3.5  负载测试

12.4  小结

13  整合Smarty模板引擎

13.1  Smarty模版引擎介绍

13.2  使用Smarty

13.2.1  PHP中使用Smarty

13.2.2  开启ThinkPHP模版扩展

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

13.3  Smarty模版函数和标签

        13.3.1  include(包含文件)

13.3.2  capture(暂存数据)

13.3.3  include_php(包含PHP文件)

13.3.4  insert(插入函数)

13.3.5  literal(原文本输出)

13.3.6  php(执行PHP语句块)

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

13.4  Smarty模版控制语句

13.4.1  ifelseif(判断语句)

13.4.2  foreach(循环数据)

13.4.3  section(遍历数组)

13.5  变量调节器

13.5.1  capitalize(首字母大写)

13.5.2  count_characters(统计字符)

13.5.3  count_paragraph(统计段落)

13.5.4  count_sentences(统计句数)

13.5.5  count_words(统计单词)

13.5.6  date_format(格式化日期)

13.5.7  escape(字符转码)

13.5.8  replace(字符替换)

13.5.9  regex_replace(正则替换)

13.5.10  truncate(字符截取)

13.6  HTML视图助手

13.6.1  html_image(生成图像)

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

13.6.3  html_radios(生成表单单选组件)

13.6.4  html_checkboxes(生成表单复选组件)

 

13.6.5  html_select_date(生成表单日期选择组件)

13.6.6  html_select_time(生成表单时间选择组件)

13.6.7  html_table(生成表格)

13.7  Smarty对象方法

13.7.1  display(显示模板)

13.7.2  fetch(获取输出内容)

13.7.3  configLoad(加载配置信息)

13.7.4  registerPlugin(注册插件)

13.8  Smarty缓存

13.8.1  开启缓存

13.8.2  局部缓存

13.9  小结

14  整合Coreseek全文搜索服务

14.1  全文索引概述

14.2  Coreseek基础

14.2.1  Coreseek概述

14.2.2  Windows下安装Coreseek

14.2.3  Linux下安装Coreseek

14.3  Coreseek管理工具

14.3.1  indexer

14.3.2  searchd

14.3.3  search

4.4  创建索引

14.4.1  索引源分类

14.4.2  增量索引

14.4.4  实时索引

14.5  MVC中搜索数据

14.5.1  安装Sphinx扩展模块

14.5.2  使用PHP接口

14.5.3  MVC中搜索数据

14.5.4  实现关键词高亮显示

14.6  小结

15  使用MongoDB

15.1  MongoDB介绍

15.2  MongoDB的安装

15.2.1  Windows安装MongoDB

15.2.2  Linux安装MongoDB

15.3  MongoDB的使用

15.3.1  理解MongoDB的数据结构

15.3.2  文档数据类型

15.3.3  数据库管理

15.3.4    插入数据

15.3.5    查询数据

15.3.6    更新数据

15.3.7    删除数据

15.4  条件操作

15.4.1    条件判断语句

15.4.2    $all 匹配全部

15.4.3    $exists 检查字段

15.4.4    Null 空值处理

15.4.5    $ne$neq 比较

15.4.6    $mod 取模运算

15.4.7    $innin枚举查询

15.4.8    $or$nor判断查询

15.4.9    $type映射查询

15.4.10  使用正则表达式匹配

15.4.11  limitskip 限制查询

15.4.12  count 查询记录条数

15.4.13  sort 查询结果排序

15.5  性能优化

15.5.1    使用索引

15.5.2    固定集合

15.5.3    GridFS

15.5.4    Profile优化器

15.6  MVC中使用MongoDB

15.6.1    安装PHP扩展

15.6.2    开启MongoDb用户验证

15.6.3    PHP连接MongoDB

15.6.4    ThinkPHP操作MongoDB

15.7  小结

16  Redis实战

16.1  Redis的使用

16.1.1    Redis概述

16.1.2    常用管理命令

16.1.3    Redis用户验证

16.2  Redis数据类型

16.3.1    String类型

16.3.2    Hash类型

16.3.3    List类型

16.3.4    Sets类型

16.3.5    Zsets类型

16.3.6  使用phpRedisAdmin

16.3  Redis高级使用

16.3.1    数据持久化

16.3.2    虚拟内存

16.3.3    事务处理

16.3.4    主从同步

16.4  MVC中使用Redis

16.4.1    PHP中使用Redis

16.4.2    MVC中进行CURD操作

16.4.3    数据分页

16.5  小结

MVC项目篇

17  开发论坛系统

17.1  开发前准备

17.1.1  系统介绍

17.1.2  系统预览

17.1.3  架构设计

17.1.4  系统部署

17.2  系统整体界面设计

17.2.1  布局方案

17.2.2  论坛首页

17.2.3  论坛版块

17.3  用户模块

17.3.1  用户登录

17.3.2  用户注册

17.3.3  使用微博帐号登录

17.3.4  将现有帐号绑定到微博

17.4   发表帖子模块

  17.4.1  整合百度编辑器

17.4.2  上传图片

17.4.3  管理图片

17.4.4  上传附件

 17.4.5   数据提交处理

17.5   帖子内容模块

17.5.1  帖子正文

17.5.2  回复列表

17.5.3  回复帖子

17.6   帖子管理模块

17.6.1  删除帖子

17.6.2  锁定帖子

17.6.3  置顶帖子

17.6.4  推荐贴子

16.7     行为拦截器

         17.7.1  统计浏览量

     17.7.1  登记浏览位置

16.8     帖子搜索模块

  17.8.1  标题搜索

17.8.2 使用全文搜索

17.9     小结

18  开发自己的MVC框架

18.1  开发前准备

18.1.1  开发MVC框架的思路

18.1.2  文件结构

18.2  核心类库

18.2.1  初始化

18.2.1  URL处理

18.3  控制器的开发

18.3.1  类自动载入

18.3.2  载入模版引擎(View)

18.3.3  处理消息(message)

18.4  模型的开发

18.4.1  使用PDO

18.4.2  模型实例化

18.4.3  实现连贯操作

18.4.4  读取数据

18.4.5  插入数据

18.4.6  更新数据

18.3.7  删除数据

18.5  扩展类库

18.5.1  Session驱动扩展

18.5.2  缓存驱动扩展

18.6  测试MVC框架

18.6.1  测试CURD

18.6.1  测试驱动

18.7  小结

附录A:让Nginx支持PATHINFO模式

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