php 特点
php是解释性语言。和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。
一个变量不是一开始就声明类型,运行中才会显示或隐士的转换。
php是多进程模型,每个请求互不干涉。好处是某个请求挂掉,不会对服务器造成影响。不过现在php也支持多线程模型swoole。
php总共有四大层组成,引擎(Zend)+ 组件(ext) 的模式降低内部耦合。 中间层(sapi) 隔绝web server和PHP。Application 就是我们编写的php代码。
四层结构
zend 引擎层 (发动机)
zend 引擎负责 php 代码 词法解析 、**语法分析、编译为可执行的opcode,并实现对应的处理方法。**实现了基本的数据结构,HashTable、OO 。内存的分配管理、api接口调用,都是zend的核心。
Zend引擎中包含了编译器和解释器,从PHP代码到opcode的执行,均由Zend引擎完成。
Zend引擎除了实现了PHP的核心功能,还提供了一套接口,让PHP可以在更多的场景中使用,如命令行环境、Web环境等。
ext 服务扩展层 (车轮)
ext目录主要是提供各种基础服务,比如内置函数的实现,curl、hash、json、pdo、mysql等等。
sapi 服务端通信接口 (公路)
Sapi全称是Server Application Programming Interface