导航:首页 > 编程语言 > 细说php第三版

细说php第三版

发布时间:2024-10-23 02:51:31

‘壹’ 自学计算机编程应该看些什么书

一:第一阶段
C语言-------《C语言设计》 作者:谭浩强
大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。

《C Primer Plus》第五版 作者:Stephen Prata
这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。

《C语言入门经典》第四版 作者:Ivor Horton

二:第二阶段
这一阶段看个人主攻的方向了,安卓一般就java,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。

C++ Primer, 4rd Edition

(入门类:
C++ Primer, 4rd Edition
Thinking in C++, 2nd Edition
The C++ Standard Library: A Tutorial and Reference

进阶类:
The C++ Programming Language, Special Edition
The Design and Evolution of C++
Inside C++ Object Model
C++ Templates: The Complete Guide
STL 源码剖析
Generic Programming and the STL
Modern C++ Design: Generic Programming and Design Patterns Applied

应用技巧类:
Effective C++, 2nd Editon
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Ruminations on C++)

三:第三阶段
API/SDK------------- 《windows程序设计》(Jeff Prosise)
这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。

四:第四阶段
MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0
如果是C++,QT是要重点学习的对象。

五:第五阶段
COM/DCOM/ATL/COM+---------《COM技术内幕》

未知阶段:
《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。

如果不弄底层的话,《操作系统原理》可以简单地了解。

‘贰’ APS,php都是什么意思

APS技术的组成

ASP硬盘保护技术,是由内嵌于主板上的加速度感应芯片和预装在系统中的震动预测管理软件组成。通过对ThinkPad本本的角度、震动、撞击的监测(即对横纵加速度变化的监测),来决定是否将硬盘磁头从工作状态收回到磁头停止区,从而减小撞击对硬盘的损害,保护硬盘及硬盘内的数据。震动预测管理软件从加速感应芯片中接收到相应的信号,通过分析判断出哪些是对硬盘有害的,哪些是规律性的运动。震动预测管理软件会忽略对硬盘不能造成伤害的规律性运动,而对于可能会对硬盘造成损害的运动,震动预测管理软件会立刻将信息传递给硬盘,使磁头迅速收回到停止区。当本本处于关机状态或系统处于启动状态时,APS功能并不会被启动。

APS技术的工作原理

当笔记本电脑硬盘工作时,硬盘磁头在磁盘上方运动,进行数据读取,当撞击力在持续2毫秒内小于200G时,一般可以靠ThinkPad本本本身的外壳与防震设计来减震,避免对硬盘造成损害。而当撞击力在持续2毫秒内超过200G后,损害将会随着撞击能量的加大而加大。

硬盘处于非工作状态时,磁头处于停止区,硬盘在1毫秒内最大可以承受800G的冲击。当撞击超过800G/1毫秒后,损害将会随着撞击能量的加大而加大(见图右边的函数图)。也就是说如果可以及时将硬盘磁头归位到停止区,则硬盘可以忍受比在工作状态下更大的冲击而不受损害。IBM APS技术就是基于上述原理,在预测到有可能发生撞击后,及时地将磁头移动到停止区以保护硬盘。

根据大量实际调查显示,笔记本电脑在工作状态下跌落的情况绝大部分是从桌面或膝盖上跌落,即从120cm以下高度跌落(通常人的膝盖高度为50cm,桌面高度为80cm),如何能在ThinkPad本本发生撞击之前就将磁头归位,成为了问题的关键所在。

1.磁头归位的时间问题

经测试,磁头的归位时间从接到控制信号到完成操作,根据磁头所处的磁道位置不同,大约为100毫秒到500毫秒。对于20cm高度内自由下落的情况,一般可以靠笔记本电脑的外壳与防震设计抵御撞击力,所以我们仅需要关注20cm以上的跌落情况。而笔记本电脑从20cm至120cm高度掉落下来的时间是202毫秒至495毫秒,再加上笔记本电脑掉落之前的短暂延迟时间,试验表明通常预计发生的时间会多于下跌时间。这就保证磁头能在笔记本电脑发生撞击之前及时归位,有效地保护磁盘。

2.冲击力问题

笔记本电脑要承受怎样的撞击,硬盘才会受到超过800G的冲击力呢?我们知道,硬盘受到的冲击力是由多项因素决定的。首先是笔记本电脑下落的相对高度与初始速率,而一般笔记本电脑在工作状态下跌落的情况绝大部分是从膝盖或桌面上跌落到地板上,相对高度不超过120cm,垂直方向的初始速率基本可以忽略不计;其次是笔记本电脑撞击的表面,硬质无弹性的表面(如水泥地板)可以造成更大的冲击力,软质有弹性的表面(如木地板或铺着地毯的地板)可以略微缓冲碰撞,从而造成较小的冲击;再次是笔记本电脑本身的外壳设计和防震设计。

为了量化在各种情况下硬盘受到的冲击力,IBM实验室特别针对从膝盖上跌落和从桌面上跌落两种情景进行了大量的实际测试。相关实验数据显示,从膝盖高度(50cm)或从桌面高度(80cm)翻落到硬质无弹性的水泥地板上,由于有外壳以及冲击吸收垫保护,硬盘受到的冲击力超过200G的几率约为50%,而超过800G的几率不超过2%。

3.规律性颠簸问题

APS功能一旦开启,就一直在监测ThinkPad本本的运动。但用户常常需要移动办公,如在汽车、火车或飞机等交通工具上使用笔记本电脑,因此颠簸是在所难免的,这些震动要是常触发APS使磁头归位,则ThinkPad用户在使用本本时就会感到本本运行是断断续续的,影响了工作效率。不过APS技术已经考虑到这个问题,它具有忽略重复震动的功能,能消除移动用户的顾虑。交通工具颠簸造成的冲击力一般并不足以损害硬盘,所以大多数的颠簸都不会触发APS功能使磁头归位,从而有效保证了ThinkPad用户使用笔记本电脑的流畅性。

智能化的震动预测、有提前量的磁头归位操作,APS的这些重要特性都保证了ThinkPad本本的硬盘以及盘内数据不会轻易受到各种撞击的影响。

php
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。

PHP的特性包括:

开放的源代码:所有的PHP源代码事实上都可以得到。

PHP是免费的。

基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。

嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。

简单的语言:PHP坚持脚本语言为主,与Java以C++不同。

效率高:PHP消耗相当少的系统资源。

图像处理:用PHP动态创建图像

PHP 3与PHP 4的比较

PHP3跟Apache服务器紧密结合的特性;加上它不断的更新及加入新的功能;而且几乎支持所有主流与非主流数据库;再以它能高速的执行效率,使得PHP在1999年中的使用站点已经超过了150000万。加上它的源代码完全公开,在 Open Source意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新的活力,使得PHP无论在UNIX、LINUX或是Windows的平台上都可以有更多新的功能。它提供丰富的函数,使得在程序设计方面有着更好的支持。

PHP4.0整个脚本程序的核心大幅更动,让程序的执行速度,满足更快的要求。在最佳化之后的效率,已较传统CGI或者ASP等程序有更好的表现。而且还有更强的新功能、更丰富的函数库。无论您接不接受,PHP 都将在 Web CGI 的领域上,掀起巅覆性的革命。对于一位专业的Web Master 而言,它将也是必修课程之一。

PHP 4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0要快,其脚本描述更强大并且更复杂, 最显着的特征是速率比的增加。PHP4.0这些优异的性能是PHP 脚本引擎重新设计产生的结果:引擎由 AndiGutmans 和 Zeev Suraski从底层全面重写。PHP4.0 脚本引擎 ——Zend 引擎,使用了一种更有效的编译——执行方式, 而不是PHP 3.0 采用的执行 ——当解析时模型。

PHP4在3.0版的基础上增加或增强了许多有用的特征,主要如下:

(1)别名:在PHP4中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。

(2)扩充了API 模块:PHP 4.0 为扩展的 API 模块的提供了扩展PHP接口模块, 它比旧的 API 版本显着地快。 PHP 模块已有的及最常用的接口多数被转换到使用这个扩展的接口。

(3)自动资源释放:PHP4增加了引用计数功能,这种新技术的引入使PHP4具有了自动内存管理功能,减轻了开发人员的负担。

(4)布尔类型:PHP 4.0 支持布尔类型。

(5)进程生成:在 UNIX 环境下的 PHP 4.0 提供了一个很智能和通用的生成进程, 使用了一种名为基于automake/libtool的系统生成技术。

(6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 仅用于Windows 环境 ) 可以无缝地存取和访问 COM 对象。

(7)与PHP 3.0 兼容性很好:PHP 4.0 是与 PHP 3.0 代码向后兼容性接近100% 。由于 PHP 4 的改进的体系结构,两者有一些细微的差别,但是大多数人将可能永远不可能遇上这种情况。

PHP介绍

(8)配置:PHP4重新设计和增强了PHP。ini文件,这使得用PHP。ini来配置PHP显得极为容易,这个文件可以在运行时被Apache(unix系统)或由Windows 注册(Windows 环境)。

(9)加密支持:PHP4实现了完整的加密, 这些加密功能是一个完整的mycrypt库,并且 PHP 4.0 支持哈希函数。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。

(10)类型检查:PHP 4.0 支持同一操作符用于评类型检查:===( 3 等号运算符 ), 为在两个值和其类型之间作检查。例如, 3 ===3 将视为假 ( 类型是不同的 ), 而 3 ==3 ( 相等判断 ) 将视为真。

(11)FTP 支持:PHP 4.0 支持 FTP 。通常, 你会为通过一个调制解调器连接下载一个大文件提供一个接口。然而, 如果你确实有需要,可以使用PHP 。

(12)PHP4新增函数或功能增强函数:PHP 4.0 新增了许多函数,同时也将许多现有的函数功能进行了增强,以下是一些例子。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset()

(13)here打印:PHP 4.0 的Here打印是与Perl类似的, 尽管完全不相同。Here是打印大容量文章的一个有用的方法,例如在 HTML文件中,不会漏掉任何一个字符,例如目录标记。

(14)HTTP Session fallback 系统:为 HTTP Session管理的一个 fallback 系统在 PHP 4.0被实现 。缺省情况下,Session标识符由cookies存储。如果没有cookies支持或一项cookies任务失败,Session标识符自动被创建并在 URL 的查询字符串中被携带。

(15)ISAPI 支持:PHP 4.0 能作为一个个性化的 ISAPI 模块作为 IIS插件 。这比 PHP 3.0 更有效, 它作为一个外部的程序来运行。

(16)内存:PHP 4.0 能更有效的使用内存, 导致较少的内存占用消耗,这主要归功于引用计数技术的实现。

(17)其他类成员函数:在 PHP 4.0 你能在成员函数本身的作用域或全局范围内调用其他类的成员函数。例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。

(18)多维数组:在 PHP 4.0 ,利用GET,POST,Cookies的进行的数据传输支持多维数组。

(19)个性化的 HTTP Session支持:HTTP Session处理, 包括 fallback 系统管理,在 PHP 4.0被它的新库函数实现 。在版本 3.0 中处理Session要求使用 PHPLIB 和第三方的库函数, 它比把Session直接地由 PHP 支持慢了许多。

(20)个性化的 Java 支持:PHP 4.0 支持和java的交互。这种个性化的Java 支持为PHP 在 Java 对象上创建和使用方法提供一个简单并且有效的工具。

21)对象和数嵌套组:PHP 4.0 实现了功能更加强大的对象, 移去了 PHP 3.0存在的种种句法限制。对象能在数组以内被嵌套并且反过来也如此, 可以根据你的需要实现嵌套。

(22)面向对象的编程:PHP 4.0 为面向对象的编程和构造类及对象提供扩展的功能和新特征。PHP4实现了对象重载,引用技术等新技术。

(23)对象重载支持:对象重载语法允许第三方的基于面向对象的类库使用 PHP4 的面向对象的特征存取他们自身的功能。使用这个特征的一个 COM 模块已经被实现了。

(24)输出缓冲支持:PHP 提供了一个输出缓冲函数集合。输出缓冲支持允许你写包裹函数功能压缩缓冲区。在 PHP4 的输出缓冲支持允许 HTML 头信息存放, 无论 HTML的正文是否输出。头信息( (header(), content type, and cookies ) 不采用缓冲 。

(25)增加了PCRE 库:PHP 4.0 包括一个 Perl 兼容的正则表达式 (PCRE ) 库, 和正常regex库一起与 PHP 绑定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正规表达式之间有一些细微差别。

(26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新设计, 使用的 PHP 的配置PHP.ini是更容易并且更有效的。全部文件能被Apache 在运行时间操作 ( 在 Apache环境 下 ) 或由 Windows 注册表 ( 在 Windows 下面 ) 。被加入PHP.ini文件的配置指令自动地在所有相关的模块中被支持。

(27)引用计数:PHP 4.0 为系统中的每个数值提供了引用计数, 包括资源。一旦一个资源不再被任何变量引用,它自动地被释放以节省内存资源。利用这个特征的最明显的例子一个内置SQL查询的循环语句。在PHP 3.0中 ,每次递归另外的 SQL 结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。

(28)支持引用:通过引用可以改变一个变量的值。

(29)函数的运行时绑定:PHP 4.0 的运行时间绑定功能允许你在他们被声明以前调用, 无论声明是否在代码以后或是在运行时间。

(30)类的运行时信息:PHP 4.0 支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。

(31)服务器抽象层:为支持Web服务器提供了增强型 SAPI ( 服务器 API ) 接口,是 PHP 4。0 不可分的一部分。这个服务器抽象层,提供了通用的WEB服务器接口支持,支持多线程WEB服务器,为大多数的WEB服务器提供透明的支持, 这些服务器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服务器。

(32)语法的点亮显示:PHP 4.0 语法的点亮显示允许开发者看见源代码而不是脚本, 这个功能比PHP 3。0中的更有效。它跑得更快,更执行得更好,并且产生更紧凑的HTML代码。
(33)由引用改变变量的值:PHP 4.0 由引用支持可变的赋值, “关联”的2个变量之中个的任何一个的值被改变,另外的变量的值同样被改变,这类似与C中的指针类型。

(34)在引用字符串中的变量引用:PHP 4.0 增强了在引用字符串中的变量引用。

PHP 在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是数据文件:

· Adabas D
· DBA
· dBase
· dbm
· filePro
· Informix
· InterBase
· mSQL
· Microsoft SQL Server
· MySQL
· Solid
· Sybase
· ODBC
· Oracle 8
· Oracle
· PostgreSQL

而在 Internet 上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP, POP3;网管系统 SNMP;网络新闻 NNTP;帐号共用 NIS;全球信息网 HTTP 及 Apache 服务器;目录协议 LDAP 以及其它网络的相关函数。

除此之外,用 PHP 写出来的 Web 后端 CGI 程序,可以很轻易的移植到不同的操作系统上。例如,先以 Linux 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程序。面对快速发展的 Internet,这是长期规划的最好选择。

一个PHP实例

<html>

<head>

<title>First program</title>

</head>

<body>

<?php

echo "hello, worldn";

?>

</body>

</html>

阅读全文

与细说php第三版相关的资料

热点内容
lol全部命令 浏览:38
用什么APP查指数 浏览:919
什么是作品源码 浏览:669
我的理想程序员该怎么写 浏览:840
英译中国现代散文选pdf 浏览:446
装饰设计模式java 浏览:21
linuxshell清屏命令 浏览:134
惠利app是什么 浏览:779
游戏端口读取服务器失败怎么弄 浏览:878
linux修复mbr 浏览:128
磁盘格式化基本命令 浏览:578
程序员掉入异世界 浏览:954
andlua画质助手源码 浏览:577
winrar解压格式怎么看 浏览:147
qt编程入门pdf 浏览:599
php中是根据指针查的数据吗 浏览:276
安卓手机驱动为什么不能提取通用 浏览:708
转行程序员失败的人 浏览:728
延迟命令方块 浏览:499
某视频网站为什么安卓可以投屏 浏览:651