编辑推荐
5名世界专家使用无数的优秀实践编程实例带您领略PH P的非凡功力。
所有解决方案都进行了详尽的解释,代码即学即用,可供下载。
《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》是想要研究复杂PH P解决方案的PH P开发人员的必备伙伴。
从容地管理错误
构建功能表单、表格和SEO友好的U RL
通过客户端和服务器端缓存减少加载时间
生成和使用Web service
内容简介
《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》作者为活跃在PHP开发一线、具有丰富PHP开发经验的专家,他们把实践中积累的大量经验技巧和有针对性的问题的解决方案,结合SitePoint论坛上的一些常见问题的解决方案编写了《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》。《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》采用大量实际案例进行深入分析讲解,非常有利于读者的学习理解。《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》基本涵盖了Web开发中常见的问题,读者可以直接进入到关注的主题进行学习。内容涵盖使用PDO访问数据库,字符串,日期和时间,表单、表格和漂亮整洁的URL,文件操作、电子邮件、图像、错误处理、防问控制、缓存、XML和Web service。
为了辅助《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》的学习,作者还建立了一个Web站点,提供代码和更新等资源支持,网址为http://www.sitepoint.com/books/phpant2/,书山的大量脚注也提供了有用资源的参考。
《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》适用于具有一定PHP开发经验的初学人员,对于那些希望改善Web应用程序或提高技术水平的资深开发人员也有很高的参考价值。
作者简介
BEN BALBO,出生于德国,在英国成长,生活在墨尔本,喜欢Guinness黑啤。在不喝Guinness的时候,他靠担任PHP开发和培训师、安全顾问和开源开发者为生。他因公开讨论Web开发相关话题而知名,这些话题是墨尔本PHP用户群和开源开发人员俱乐部委员会提议的。HARRY FUECKS,一位技术作家、程序员和系统工程师。1994年起在公司IT部门工作,拥有物理学学士学位。他最早接触PHP是在1999年,那时他正在组建一个小型的内部网。今天,他是一家公司外网的高级开发人员,PHP在其外网中扮演着重要角色,负责为大量的内勤系统提供一个统一平台。他在业余时间为SitePoint撰写技术文章,并且运营讨论PHP应用程序设计的网站phppPatterms。
DAVEY SHAFIK,一名具有10年PHP和相关技术经验的全职PHP开发人员。作为-位热情的杂志撰稿人、图书作者和演讲者,DAVEY通过以独特视角解决问题保持头脑灵活。LIGAYA TLJRMELLE是一位女强人、偶尔的PHP程序员和着迷的世界旅行者。作为phpwomen.org的主要负责人、codewalkers.com的管理员、Zend.com上Developer Zone的巡回记者、Freenode的#phpc频道的忙人和PHP博主,她积极地参与到PHP社区中,并且希望有一天能够与她志同道合的人会面。
MATTHEW WEIER O’PHINNEY是两个孩子的全职父亲,他的空闲时间都花在了PHP开发上。他是一位PEAR开发人员、Zend Framework的核心贡献者、全面的PHP 5支持者——PHP 6的发布速度对他来说还不够快。
内页插图
目录
译者序
前言
第1章 概述
1.1 从何处获得帮助
1.2 什么是OOP
1.3 如何编写可移植的PHP代码
1.4 小结
第2章 使用PDO访问数据库
2.1 什么是PDO
2.2 如何访问数据库
2.2.1 解决方案
2.2.2 讨论
2.3 如何从表中获取数据
2.3.1 解决方案
2.3.2 讨论
2.4 如何解决SQL查询中的错误
2.4.1 解决方案
2.4.2 讨论
2.5 如何向数据库中添加或修改数据
.2.5.1 解决方案
2.5.2 讨论
2.6 如何保护Web站点免受SQL注入攻击
2.6.1 解决方案
2.6.2 讨论
2.7 如何创建灵活的SQL语句
2.7.1 解决方案
2.7.2 讨论
2.8 如何获得受影响的行数
2.9 如何获得一个新插入行的自动增加字段
2.9.1 解决方案
2.9.2 讨论
2.10 如何搜索表
2.10.1 解决方案
2.10.2 讨论
2.11 如何进行事务处理
2.11.1 解决方案
2.11.2 讨论
2.12 如何利用PDO使用存储过程
2.12.1 解决方案
2.12.2 讨论
2.13 如何备份数据库
2.13.1 解决方案
2.13.2 讨论
2.14 小结
第3章 字符串
3.1 如何安全地输出字符串
3.2 如何保留格式
3.3 如何从文本中剥离HTML标记
3.3.1 解决方案
3.3.2 讨论
3.4 如何强制文本在一定数量的字符后折行显示
3.5 如何执行高级搜索和替换操作
3.6 如何将文本打散为行数组
3.6.1 解决方案
3.6.2 讨论
3.7 如何从文本中移除空白内容
3.8 如何输出格式化文本
3.9 如何验证提交的数据
3.9.1 解决方案
3.9.2 讨论
3.10 小结
第4章 日期和时间
4.1 如何使用UNIX时间戳
4.1.1 解决方案
4.1.2 讨论
4.2 如何获得当前日期
4.2.1 解决方案
4.2.2 讨论
4.3 如何知道是星期几
4.4 如何获得一个月份的天数
4.5 如何创建一个日历
4.6 如何在MySQL中存储日期
4.6.1 解决方案
4.6.2 讨论
4.7 如何使用MySQL时间戳
4.8 如何使用MySQL执行日期计算
第5章 表单、表格和漂亮整洁的URL
5.1 如何使用PHP建HTML表单
5.2 如何在表格中显示数据
5.3 如何在排序表中显示数据
5.4 如何创建自定义数据栅格
5.5 如何在PHP中建立“漂亮整洁的”URL
5.5.1 解决方案
5.5.2 讨论
5.6 小结
第6章 文件操作
6.1 如何读取本地文件
6.1.1 解决方案
6.1.2 讨论
6.2 如何使用文件句柄
6.2.1 解决方案
6.2.2 讨论
6.3 如何修改本地文件
6.3.1 解决方案
6.3.2 讨论
6.4 如何访问本地文件的有关信息
6.4.1 解决方案
6.4.2 讨论
6.5 如何使用PHP检查目录
6.6 如何在线显示PHP源代码
6.6.1 解决方案
6.6.2 讨论
6.7 如何在文件中存储配置信息
6.7.1 解决方案
6.7.2 讨论
6.8 如何访问远程服务器上的文件
6.8.1 解决方案
6.8.2 讨论
6.9 如何在PHP中使用FTP
6.9.1 解决方案
6.9.2 讨论
6.10 如何使用PHP管理文件下载
6.10.1 解决方案
6.10.2 讨论
6.11 如何使用PHP创建压缩的ZIP/TAR文件
6.12 如何使用PHP5中的标准PHP库操作文件
6.12.1 解决方案
6.12.2 讨论
6.13 小结
第7章 电子邮件
7.1 如何发送一封简单的电子邮件
7.1.1 解决方案
7.1.2 讨论
7.2 如何简化复杂电子邮件的生成
7.2.1 解决方案
7.2.2 讨论
7.3 如何为消息添加附件
7.3.1 解决方案
7.3.2 讨论
7.4 如何发送HTML邮件
7.5 如何将消息邮寄至一组人员
7.5.1 解决方案
7.5.2 讨论
7.6 如何使用PHP处理到达的邮件
7.6.1 解决方案
7.6.2 讨论
7.7 如何保护站点免受电子邮件注入攻击
7.7.1 解决方案
7.7.2 讨论
7.8 小结
第8章 图你
8.1 如何指定正确的图像MIME类型
8.2 如何创建缩略图
8.3 如何在不拉伸图像的情况下调整其大小
8.4 如何构建一个简单的缩略图艺术库
8.5 如何从图像中提取EXIF信息
8.6 如何为图像增加水印
8.7 如何使用PHP显示图表和图形
8.7.1 解决方案
8.7.2 讨论
8.8 如何防止图像盗链
8.9 如何创建只能人工验证的图像
8.9.1 解决方案
8.9.2 讨论
8.10 小结
第9章 错误处理
9.1 PHP报告哪些错误级别
9.2 PHP为错误处理提供哪些内置设置
9.3 如何触发PHP错误
9.3.1 解决方案
9.3.2 讨论
9.4 如何使用PHP实现自定义错误处理器
9.4.1 解决方案
9.4.2 讨论
9.5 如何记录和报告错误
9.6 如何使用PHP异常进行错误处理
9.6.1 解决方案
9.6.2 讨论
9.7 如何创建一个自定义异常类
9.7.1 解决方案
9.7.2 讨论
9.8 如何用PHP实现一个自定义异常处理器
9.8.1 解决方案
9.8.2 讨论
9.9 如何像处理异常一样处PHP错误
9.9.1 解决方案
9.9.2 讨论
9.10 如何恰当地显示错误和异常
9.10.1 解决方案
9.10.2 讨论
9.11 如何在发生错误时将用户重定向到另一个页面
9.11.1 解决方案
9.11.2 讨论
9.12 小结
第10章 访问控制
10.1 如何使用HTTP认证
10.1.1 解决方案
10.1.2 讨论
10.2 如何使用会话
10.2.1 解决方案
10.2.2 讨论
10.3 如何创建一个会话类
10.4 如何创建一个类来控制对站点部分的访问
10.4.1 解决方案
10.4.2 讨论
10.5 如何建立一个注册系统
10.5.1 解决方案
10.5.2 讨论
10.6 如何处理那些忘记口令的成员
10.7 如何让用户更改他们的口令
10.7.1 解决方案
10.7.2 讨论
10.8 如何建立一个权限系统
10.8.1 解决方案
10.8.2 讨论
10.9 如何在数据库中存储会话
10.10 小结
第11章 缓存
11.1 如何阻止网络浏览器缓存页面
11.1.1 解决方案
11.1.2 讨论
11.2 如何控制客户端缓存
11.2.1 解决方案
11.2.2 讨论
11.3 如何在浏览器中检查HTTP头
11.4 如何使用Ⅲ缓存文件下载
11.5 如何将输出缓冲用于服务器端缓存
11.5.1 解决方案
11.5.2 讨论
11.6 如何只缓存页面中不常改变的部件
11.6.1 解决方案
11.6.2 讨论
11.7 如何将PEAR::Cache_Lite用于服务器端缓存
11.8 Cache_Lite支持什么样的配置选项
11.9 如何清空CacheLite缓存
11.9.1 解决方案
11.9.2 讨论
11.10 如何缓存函数调用
11.11 本章小结
第12章 XML和Websewice
12.1 什么样的XML技术可用于PHP5
12.2 为什么使用PHP的XML扩展,而非PHP字符串函数
12.2.1 解决方案
12.2.2 讨论
12.3 如何解析RSS频道
12.3.1 解决方案
12.3.2 讨论
12.4 如何生成RSS频道
12.4.1 解决方案
12.4.2 讨论
12.5 如何在XML中搜索一个节点或者内容
12.5.1 解决方案
12.5.2 讨论
12.6 如何能够使用XML-RPCWebservice
12.7 如何实现我自己的XML-RPCWebservice
12.8 如何能够使用SOAPWebservice
12.8.1 解决方案
12.8.2 讨论
12.9 如何能够实现SOAPWebservice
12.9.1 解决方案
12.9.2 讨论
12.10 如何能够使用REST服务
12.11 如何能够实现REST服务
12.11.1 解决方案
12.11.2 讨论
12.12本章小结
第13章 最佳实践
13.1 如何跟踪项目代码的版本
13.1.1 解决方案
13.1.2 讨论
13.2 如何维护单个代码库的多个版本
13.2.1 解决方案
13.2.2 讨论
13.3 如何编写分布式代码
13.3.1 解决方案
13.3.2 讨论
13.4 如何为代码编纂说明文档以作自己或其他人的后续参考
13.4.1 解决方案
13.4.2 讨论
13.5 如何确保代码将来的变动不会破坏当前的功能
13.5.1 解决方案
13.5.2 讨论
13.6 如何判别还有什么尚待测试
13.7 我已经复查了一些旧的代码,发现它并不合意,该如何让其变得更好呢
13.7.1 解决方案
13.7.2 讨论
13.8 如何安全地部署代码
13.8.1 解决方案
13.8.2 讨论
13.9 本章小结
附录A PHP配置
A.1 配置机制
A.2 关键的安全性和可移植性设置
A.3 包含和执行设置
A.4 与错误相关的设置
A.5 其他设置
附录B 主机提供商检查清单
B.1 一般问题
B.1.1 主机支持Linux和Apache吗
B.1.2 主机提供服务器的SSH访问吗
B.1.3 主机是一个分销商吗,或者,他自己维护服务器吗
B.1.4 主机“过载”服务器能够到什么程度
B.I.5 主机提供商关于从命令行运行脚本和程序的政策是什么
B.1.6 主机提供定时访问这种允许安排批量任务的Unix实用程序吗
B.2 和PHP相关的问题
B.2.1 能够在实际上被分配到的服务器中看到phpinfo的输出吗
B.2.2 PHP是作为一个Apache组件安装的吗(而非CGI变种)
B.2.3 Apache的settingAllowOverride被设置为Options或者All了吗
B.2.4 PHP的安全模式禁用了吗
B.2.5 检查主机的升级政策
B.2.6 询问安装的PHP扩展列表
B.2.7 可从命令行中使用PHP吗
B.2.8 主机提供商对PHP的理解程度如何
附录C 安全检查列表
C.1 十大安全脆弱性
C.1.1 跨站脚本(XSS)
C.1.2 注入攻击
C.1.3 恶意文件执行
C.1.4 不安全的直接对象引用
C.1.5 跨站请求伪造(CSRF)
C.1.6 信息泄露和错误处理不当
C.1.7 认证和会话管理不完善
C.1.8 不安全的密码存储
C.1.9 不安全的通信
C.1.10 限制URL访问失败
附录D 使用PEAR
D.1 安装PEAR
D.2 PEAR包管理器
D.3 手动安装PEAR包
D.4 PEAR的供选方案
精彩书摘
这部分内容是该手册的主体部分,包括了PHP中所有可用函数的各个方面。在.PHP学习过程中,您会在这部分内容上花费大部分时间。因此您会很乐于听到这个消息:PHP团队已经在这部分内容的易用性方面投入了很大精力。这甚至很有趣,在空闲的时候浏览一下手册,会对使用PHP能够做到的事情感到惊讶。您没看错,我确实使用了“有趣”这个词来描述您阅读这本手册的感觉。
函数参考按照函数的分类分为几个子部分,每个分类对应于一个PHP扩展。除了核心语言的语法之外,大部分PHP被组合成可代表不同功能的扩展。
PHP扩展
尽管很多扩展是与标准:PH=P安装一起分发的,但扩展的概念一开始可能让人感觉有点困惑。不可缺少的String函数就是一个恰当的示例。通常情况下,PHP团队将他们认为对于开发人员很关键的所有扩展作为默认PHP安装的一部分一起分发。
前言/序言
关于PHP最伟大的一个方面就是其充满活力的社区。开发人员享有许多在线会面的机会,包括SitePoint论坛,在这里开发人员可以相互帮助解决他们在日常工作中遇到的问题,包括从最基础的PHP如何工作到解决像“如何验证一个表单?”这类设计问题。作为一种获得帮助的方法,这些社区做得非常出色。它们包含了保证项目成功所需要的各种重要内容。但是将所有这些知识组合在一起应用于您的特定情况却是一个挑战。社区成员通常会假定其他文章的发布者具有一定程度的知识,您可能经常需要花费大量时间从各种文章、帖子和用户(每个用户具有不同的编程风格)那里抽取一些代码片段拼凑起来形成一个完整的图像。
《PHP深度分析:101个核心技巧、窍门和问题解决方法》(原书第二版)首次汇集了定期发布在SitePoint论坛上的常见PHP问题的最佳解决方案,并结合了作者们从其多年PHP使用中获得的经验和感悟。
本书区别于其他PHP图书的地方在于其未采用指南的形式,而是将重点放到怎样以最少精力获得实际结果上。为了达到这种结果,您不必逐页阅读本书,而是采用“即插即用”的方式使用本书中提供的解决方案。为了帮助读者更好地使用本书,每个部分都采用了一致的“问题一解决方案”的方式。可以快速浏览一下目录,直接跳转到针对您问题的解决方案。
也就是说,有一个隐藏的议题贯穿于本书中所有讨论。除了解决方案,本书还将为您介绍一些能够节省精力的技巧,帮助您减少完成和维护基于Web的PHP应用的时间。
PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版) [PHP Anthology] epub pdf mobi txt 电子书 下载 2024
PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版) [PHP Anthology] 下载 epub mobi pdf txt 电子书 2024
PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版) [PHP Anthology] mobi pdf epub txt 电子书 下载 2024
PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版) [PHP Anthology] epub pdf mobi txt 电子书 下载 2024