php底层深度探索(1)---开篇 王泽宾 收藏
一、开篇
在开始这个专题之前,先说一点题外话。大多数人学习编程语言的时候,首先关注的是这种语言的语法及其常用函数。我学习C,Java,Php等语言就是按照这样的方式开始的。一般情况下,这个阶段需要一个月左右的时间就会完全掌握,并能基本熟练地使用。对于已有经验的同学,可能时间更短。其实各种语言的语法和常用函数都差别不大,有很多相通的地方。如果您在学习一种编程语言的时候,拿一些真正的项目任务作为实践,效果更佳,实践远胜于理论。
我们在掌握了一门编程语言之后,又会向两个方向发展:一个方向是向上延伸,从事系统框架结构的探索;另一方向是向下延伸,从事系统底层方面的研究,我大体画了一下这个学习演变过程的示意图。
注:虽然我的形象一直用着“高高手”,但我只是个菜鸟,如有雷同,纯属巧合,欢迎善意拍砖。
php的语法非常简单,正是它的简单性,使它成为了当前互联网第一编程语言。你不需要具备很多的知识就能上手,比如:你学习C语言,就必须非常了解各个变量如何定义,指针如何操作,内存如何创建销毁等等。再比如:你学习Java语言,就必须具有面向对象(OO)的基础,就必须清楚是什么时候需要封装,什么时候需要继承,什么时候需要多态,要做项目,怎么还得懂点SSH。Php的大部分使用者可能根本就没这么多讲究,有的人喜欢面向过程,那你就用面向过程的方式来写代码;有的人喜欢面向对象,那你就用面向对象的方式写代码。Php的产生缘于互联网,目前也是互联网Web2.0第一编程语言。满足用户需求永远是第一位的,可维护性暂且可以放在第二位。我们通常说Web应用永远是β版的,计划远没有变化快。
我们公司里有很多phper,我曾经问过他们:“php程序到底是如何被执行的?”,多数人似乎很难说得清楚。这种情况,其实并不奇怪,我曾经拿类似的问题问过Javaer,Javaer的回答也是如此。有的同学会问:“研究这样的问题有没有实际意义呢?”我说:“有!”。理解系统的底层,有助于你写出高效健壮的代码,你会更清楚程序的代码到底该怎么去写。另外,如果你有志去做php扩展,那就更不必说,责无旁贷。
要回答以上问题,我觉得最好的办法是阅读一下php的源码,从“根”上解决。近来我找了点时间,粗读了一遍,愿意与各位共享。
关于php的底层工作原理,一定绕不开webserver,象apache,lighttpd,nginx,iis等。我这里就选择apache为例吧。以下内容将结合apache的源码、工作原理和扩展来逐步切入php的解析过程。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wanghao72214/archive/2009/02/11/3877552.aspx
http://blog.csdn.net/wanghao72214/archive/2009/02/11/3877552.aspx
一、开篇
在开始这个专题之前,先说一点题外话。大多数人学习编程语言的时候,首先关注的是这种语言的语法及其常用函数。我学习C,Java,Php等语言就是按照这样的方式开始的。一般情况下,这个阶段需要一个月左右的时间就会完全掌握,并能基本熟练地使用。对于已有经验的同学,可能时间更短。其实各种语言的语法和常用函数都差别不大,有很多相通的地方。如果您在学习一种编程语言的时候,拿一些真正的项目任务作为实践,效果更佳,实践远胜于理论。
我们在掌握了一门编程语言之后,又会向两个方向发展:一个方向是向上延伸,从事系统框架结构的探索;另一方向是向下延伸,从事系统底层方面的研究,我大体画了一下这个学习演变过程的示意图。
注:虽然我的形象一直用着“高高手”,但我只是个菜鸟,如有雷同,纯属巧合,欢迎善意拍砖。
php的语法非常简单,正是它的简单性,使它成为了当前互联网第一编程语言。你不需要具备很多的知识就能上手,比如:你学习C语言,就必须非常了解各个变量如何定义,指针如何操作,内存如何创建销毁等等。再比如:你学习Java语言,就必须具有面向对象(OO)的基础,就必须清楚是什么时候需要封装,什么时候需要继承,什么时候需要多态,要做项目,怎么还得懂点SSH。Php的大部分使用者可能根本就没这么多讲究,有的人喜欢面向过程,那你就用面向过程的方式来写代码;有的人喜欢面向对象,那你就用面向对象的方式写代码。Php的产生缘于互联网,目前也是互联网Web2.0第一编程语言。满足用户需求永远是第一位的,可维护性暂且可以放在第二位。我们通常说Web应用永远是β版的,计划远没有变化快。
我们公司里有很多phper,我曾经问过他们:“php程序到底是如何被执行的?”,多数人似乎很难说得清楚。这种情况,其实并不奇怪,我曾经拿类似的问题问过Javaer,Javaer的回答也是如此。有的同学会问:“研究这样的问题有没有实际意义呢?”我说:“有!”。理解系统的底层,有助于你写出高效健壮的代码,你会更清楚程序的代码到底该怎么去写。另外,如果你有志去做php扩展,那就更不必说,责无旁贷。
要回答以上问题,我觉得最好的办法是阅读一下php的源码,从“根”上解决。近来我找了点时间,粗读了一遍,愿意与各位共享。
关于php的底层工作原理,一定绕不开webserver,象apache,lighttpd,nginx,iis等。我这里就选择apache为例吧。以下内容将结合apache的源码、工作原理和扩展来逐步切入php的解析过程。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wanghao72214/archive/2009/02/11/3877552.aspx
http://blog.csdn.net/wanghao72214/archive/2009/02/11/3877552.aspx
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2927/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表