PHP开发 加入小组

298个成员 3006个话题 创建时间:2011-05-30

在学习用PHP做网站之前

发表于 2012-12-08 9941 次查看

今天有个网友跟我说,想学PHP,做网站,有资料提供不?

“想学”这个阶段,比较朦胧,不如先一起来了解下历史,这样对PHP会有个清晰点的定位。当然,最后也会分享几个个人觉得可行的学习方法。​​

得从因特网(Internet)说起。60年代,美苏争霸的时候,两国都具备核武器,美国国防部为了保证在受到苏联第一次核打击的之后仍然具有一定的生存和反击能力,需要设计出一种分散的指挥系统,当部分指挥点被摧毁,其他点仍能正常工作,并且这些点之间,能绕过那些已被摧毁的点而继续保持联系。基于这个构思,有了因特网的雏形:一个名为ARPANET的网络。

1974年,TCP/IP网络通信协议问世,随后美国国防部决定向全世界无条件免费提供该协议,也就是向全世界公布这个解决电脑网络之间通信的核心技术,网络因此得到大发展,各种各样的网络应运而生。基于温顿·瑟夫(Vinton Cerf)的设想:“在每个网络内部各自使用自己的通讯协议,在和其它网络通信时使用TCP/IP协议”,80年代中期,美国国家科学基金会(NSF)建立名为NSFNET的广域网,运营过程中,很多大学、政府资助甚至私营的研究机构纷纷把自己的局域网并入NSFNET中,从1986年至1991年,NSFNET的子网从100个迅速增加到3000多个,开始真正成为因特网的基础。

TCP/IP协议解决了网络互联的问题并促使因特网的产生和发展,在此基础上,万维网、网站等才能发展起来,也才有了PHP诞生的可能。

1989年,伯纳斯·李(Berners Lee 万维网之父)看到了将超文本(网页就是一种超文本,超文本概念更早的时候已提出)系统与因特网结合在一起的机会:只要把超文本系统和传输控制协议、域名系统结合在一起,就能得出万维网(World Wide Web)。同年,他设计了第一个万维网浏览器和第一个网页服务器。1991年8月6日,他在发表了万维网项目简介的文章,这一天也标志着因特网上万维网公共服务的首次亮相。

1994年,伯纳斯·李在麻省理工学院创办了万维网联盟(W3C)。它的成员包括多家建议万维网进一步改善自身质量、有意创建标准的公司。伯纳斯·李宣布万维网完全免费的,不申请专利权,不征收专利费,因此,人人都能轻易用上万维网。

万维网的核心部分是由三个标准构成的。统一资源标识符(URL),这是一个世界通用的负责给万维网上例如网页这样的资源定位的系统;超文本传送协议(HTTP),它负责规定浏览器和服务器怎样互相交流;超文本标记语言(HTML),作用是定义超文本文档的结构和格式。

你在浏览器中输入网页URL,基于HTTP协议,浏览器将请求发送到网页服务器,服务器接收到请求,根据URL找到它所代表的资源在哪里(网页),返回数据给浏览器,返回的网页其实都是HTML代码,需要浏览器翻译成可阅读的内容,也就是你现在看到网页的样子。这是上面三个概念在实际操作中的例子。而网站,其实就是一些特定内容的相关网页的集合。

万维网是基于因特网的一项服务,方便人们在因特网上发布和获取资源。当在因特网上发布网页的人越来越多时,新的问题又产生了。

纯文本的静态网页只能用作展示,但制作网页过程中,会有很多额外的需求。1995年,拉斯姆斯·勒多夫(Rasmus Lerdorf)创建了 PHP/FI 项目,用来跟踪访问他主页的人们的信息,用 Perl 脚本编写,取名为“Personal Home Page Tools”。随着更多功能需求的增加,他写了一个更大的C语言的实现,它可以访问数据库,可以让用户开发简单的动态网页。

后来Andi Gutmans和Zeev Suraski在做项目时发现PHP/FI 2.0功能明显不足,于是他们重写了代码。这就是PHP 3.0,也是类似于当今PHP语法结构的第一个版本。这个全新的语言伴随着一个新的名称发布:PHP。这是一种递归的缩写,它的全称是 —— PHP: Hypertext Preprocessor(PHP是超文本的预处理程序)。它的可扩展性吸引了大量的开发人员加入并提交新的模块,这也是它取得巨大成功的关键。

PHP是干什么的,名字里已经说明了。在上面的例子中,再加上点PHP的活。服务器接收到请求,根据URL找到它所代表的资源在哪里,但这个资源是个PHP脚本,服务器就先让PHP解释器去运行这个脚本(干的活也就是名字里说的:超文本的预处理),得到了处理出来的HTML,返回数据给浏览器。

经常和PHP一起被提起的 “Apache网页服务器”,PHP的老搭档,就是例子中所说的在接收浏览器请求的服务器。

整个历史下来,个人体会:开放、共享、贡献、勇于实践等,这些也许就是互联网的基因,在它孵化的过程中已经注定;而我们已经站在前辈的肩膀上继续前行。同时,你也应该清楚了PHP的定位,做网站,除了学PHP,上面的这些概念、名词,都需要理解,做之前了解了一遍,岂不更好。

 

关于如何找资料,个人经验:

掌握一项技能,系统性的学习比较必要,要找一本适合入门的比较系统的书,跟着作者的思路学习,能系统性的掌握它。

如何找书?豆瓣(douban.com)上有书评,有评分,有摘要,足够参考。

遇到问题?手册,官方手册详尽,从安装、语法、调试、到每个函数怎么用。如果是手册上没有的,将问题定位清楚,google搜索一般都有高质量答案(用英文搜索更好)。

还有很多,大家都会的 :) 不多说了。

 

如果想马上动手的,附一个用PHP写Hello world的视频教程地址。http://www.howzhi.com/course/686/lesson/9207,这个教程在windows下,环境安装简单,还把如何调试错误放在第一课,多个教程中对比了下,于是推荐这个。视频整理:好知网,视频作者:张恩民。

 

封面图:站在巨人的肩膀上。

 

-----------------------------

文章始发于微信公众帐号:PHP工程师

欢迎关注

3回复
发表回复
功能维护升级中,维护完成完后将再次开放,非常抱歉给您学习造成的不便。