background image

PHP 底层的运行机制与原理

PHP 说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它

底层的工作原理。

PHP 是一种适用于 web 开发的动态语言。具体点说,就是一个用 C 语言实现包含大

量组件的软件框架。更狭义点看,可以把它认为是一个强大的 UI 框架。

了解 PHP 底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框

架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。

1. PHP 的设计理念及特点

· 多进程模型:由于 PHP 是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不

会对全盘服务造成影响,当然,随着时代发展,PHP 也早已支持多线程模型。

· 弱类型语言:和 C/C++、Java、C#等语言不同,PHP 是一门弱类型语言。一个变量的类型

并不是一开始就确定不变,运行中才会确定并可能发生隐式或显式的类型转换,这种机
制的灵活性在 web 开发中非常方便、高效,具体会在后面 PHP 变量中详述。

· 引擎(Zend)+组件(ext)的模式降低内部耦合。
· 中间层(sapi)隔绝 web server 和 PHP。
· 语法简单灵活,没有太多规范。缺点导致风格混杂,但再差的程序员也不会写出太离谱危害

全局的程序。

2. PHP 的四层体系

PHP 的核心架构如下图: