理解PHP底层原理(一)
PHP 三大模块的 理解:
1.PHP内核:其功能是用来处理 (请求,文件流,错误) 等相关操作。
2.Zend引擎:将PHP文件转为机器语言,然后在虚拟机上运行。
3.扩展层:函数、类库、流。PHP可以加载扩展实现一些特定操作。
三者关系:
Zend执行程序时候需要连接若干扩展,
它将控制权交由扩展层,
等扩展层处理完毕,
将结果返还给Zend。
最终Zend将程序运行结果返回给PHP内核。
PHP内核再将结果传给SAPI层。
最终输出到浏览器。
PHP设计理念及特点:
多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,随着时代发展,PHP也早已支持多线程模型。
弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。一个变量的类型并不是一开始就确定不变,运行中才会确定并可能发生隐式或显式的类型转换,这种机制的灵活性在web开发中非常方便、高效,具体会在后面PHP变量中详述。
引擎(Zend)+组件(ext)的模式降低内部耦合。
中间层(sapi)隔绝web server和PHP。
语法简单灵活,没有太多规范。缺点导致风格混杂