只需一步,快速开始
荣誉会员
188
2
748
您需要 登录 才可以下载或查看,没有账号?立即注册
本书介绍: MVC是一种先进的开发模式,能够解决团队开发之间协同配合的问题,使得网站各部件以更高的效率运行。MVC模式将网站分为3大部件,分别为模型、视图、控制器。这3大部件各自分离,但又相互依存,最终形成了一个容易维护、容易扩展、高效运行的网站平台。对于后台程序员,借助于MVC模式就可以更加专注于功能的实现,而不需要太多地涉及页面与前端。这种分工协作的最终目的是提高开发效率及项目质量。对于个人项目,也许在其他编程技术(例如Java、Python)中,MVC模式并没有优势,但在PHP中,由于支持混合编程,所以使用MVC模式进行编程,能显著提高工作效率。 《PHP MVC开发实战》是国内第一本专门介绍PHP MVC开发模式的图书,全书围绕MVC实现思路进行细致的讲解。通过MVC编程模式,以点带面,全面深入探讨PHP核心技术。同时,本书也是一本深入介绍利用PHP构建高性能网站的图书,通过MVC的数据库中间件,可以轻松实现网站群体、读写分离等高级应用,本书在此基础上还会进一步介绍当前流行的NoSQL应用、全文搜索应用等。最后,作者通过一个自行编写的MVC框架,引导读者开发属于自己的PHP MVC框架。 《PHP MVC开发实战》内容通俗易懂、示例形象,适合广大的Web从业人员阅读。由于PHP非常简单、易用,所以就算是未接触过PHP的读者或者初学者,只要掌握了基础的面向对象编程思想就可以轻松上手。 作译者: 李开涌,IT作家,技术顾问。 曾供职于电信盈科,主要从事分布式集成系统的开发。拥有超过8年的开源技术编程经验,对Linux、FreeBSD以及Hadoop集群等均有丰富的使用及开发经验。同时,还是微软Silverlight MVP,精通微软的.NET平台技术,是国内最早从事Windows Phone技术普及的IT作者,曾著有《Windows Phone 7应用开发入门与实践》一书。目前从事分布式开发及云技术研究。 本书目录: 《PHP MVC开发实战》 前言 基 础 篇 第1章 开发前准备2 1.1 PHP与MVC概述3 1.2 开发环境搭建7 1.2.1 在Windows下使用一键安装包8 1.2.2 在Linux平台安装LNMP11 1.3 开发工具介绍20 1.3.1 PHP Coder20 1.3.2 PHP Editor21 1.3.3 NetBeans IDE21 1.3.4 Eclipse PDT22 1.3.5 Zend Studio24 1.3.6 Adobe Dreamweaver25 1.3.7 VS.PHP27 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 实 战 篇 第4章 PHP MVC发展状况72 4.1 出身豪门的Zend Framework73 4.1.1 Zend Framework简介73 4.1.2 安装Zend Framework73 4.1.3 使用Zend Framework实现MVC75 4.1.4 Zend Framework核心组件76 4.2 功能强大的Symfony80 4.2.1 Symfony简介80 4.2.2 获得Symfony81 4.2.3 实现一个简单的MVC82 4.2.4 Symfony的配置文件85 4.3 灵活完善的CakePHP85 4.3.1 CakePHP简介85 4.3.2 下载安装CakePHP86 4.3.3 使用CakePHP构建MVC编程86 4.3.4 好用的CakePHP视图助手89 4.4 使用广泛的CodeIgniter89 4.4.1 CodeIgniter简介89 4.4.2 安装CodeIgniter90 4.4.3 使用CodeIgniter实现MVC91 4.5 高效便捷的ThinkPHP94 4.5.1 ThinkPHP介绍94 4.5.2 下载安装ThinkPHP95 4.5.3 使用ThinkPHP实现MVC96 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中的URL117 6.1.1 URL模式117 6.1.2 URL路由119 6.1.3 自动生成匹配的URL121 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 CURD159 7.2.3 查询语言163 7.2.4 使用原生的SQL语言166 7.3 关联模型(RelationModel)167 7.3.1 关联关系167 7.3.2 关联定义168 7.3.3 关联模型的CURD169 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 构建稳健及安全的MVC189 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 安装HTTPSQS205 8.4.3 测试HTTPSQS207 8.4.4 在MVC中使用HTTPSQS209 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 返回XML228 9.1.3 返回Json232 9.1.4 使用Json及Jsonp235 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 封装的Session252 9.4.2 封装的Cookie256 9.5 小结257 第10章 网站静态化259 10.1 Cache类260 10.1.1 缓存的方式260 10.1.2 开启缓存260 10.1.3 安装Memcached261 10.1.4 使用Memcached265 10.2 Memcached实战应用267 10.2.1 页面局部缓存267 10.2.2 缓存数据集267 10.2.3 使用Memcache存放Session270 10.3 使用Redis缓存274 10.3.1 Redis的安装274 10.3.2 安装Redis扩展277 10.3.3 测试Redis279 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与SOAP327 12.1.2 PHP 5分布式开发329 12.2 SOAP消息体331 12.2.1 WSDL文件331 12.2.2 定义根消息体definitions335 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 可视化创建WSDL338 12.2.9 使用nusoap创建WSDL341 12.2.10 ThinkPHP生成SOAP服务343 12.3 使用soapUI测试WSDL347 12.3.1 soapUI简介347 12.3.2 安装soapUI348 12.3.3 创建项目349 12.3.4 测试项目350 12.3.5 负载测试351 12.4 小结353 第13章 整合Smarty模板引擎354 13.1 Smarty模板引擎介绍355 13.2 使用Smarty356 13.2.1 在PHP中使用Smarty356 13.2.2 开启ThinkPHP模板扩展358 13.2.3 以扩展的方式使用全功能Smarty358 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下安装Coreseek390 14.2.3 在Linux下安装Coreseek394 14.3 Coreseek管理工具397 14.3.1 indexer397 14.3.2 searchd400 14.3.3 search402 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章 使用MongoDB421 15.1 MongoDB介绍422 15.2 MongoDB的安装424 15.2.1 在Windows下安装MongoDB424 15.2.2 在Linux下安装MongoDB426 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 GridFS450 15.5.4 Profile优化器450 15.6 在MVC中使用MongoDB451 15.6.1 安装PHP扩展451 15.6.2 开启MongoDB用户验证453 15.6.3 ThinkPHP操作MongoDB455 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 使用phpRedisAdmin480 16.3 Redis高级使用483 16.3.1 数据持久化483 16.3.2 虚拟内存484 16.3.3 事务处理484 16.3.4 主从同步486 16.4 在MVC中使用Redis487 16.4.1 在PHP中使用Redis487 16.4.2 在MVC中进行CURD操作491 16.4.3 数据分页496 16.5 小结498 项 目 篇 第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 使用PDO572 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 测试CURD590 18.6.3 测试驱动594 18.7 小结595 附录596 附录A 让Nginx支持Pathinfo模式596 附录B 配置团队开发环境597 下载地址:
使用道具 举报
终身会员[A]
34
7809
1025
心领神会
133
212
42
7718
928
26
7695
1171
8067
1091
32
7889
1073
23
7791
1023
27
7622
956
28
7858
1054
本版积分规则 发表回复 回帖后跳转到最后一页
|Archiver|小黑屋|dmz社区 |网站地图
GMT+8, 2026-10-7 08:43 , Processed in 0.058562 second(s), 13 queries , Redis On.
Powered by Discuz! X3.4 Licensed
© 2001-2023 Discuz! Team.