PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。
了解PHP底层实现的目的是什么?动态语言要想用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。
PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件模块的软件框架。是一个强大的UI框架。
简言之;PHP动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。
PHP的目录结构PHP源代码还包括在开发过程中生成的几个文件,以及在上游各自位置进行维护的几个部分。(注:PHP版本7.4.13)
php-src/├─.git/#Gitconfigurationandsourcedirectory├─TSRM/#ThreadSafeResourceManager└─Zend/#ZendEngine├─zend_vm_execute.h#Generatedby`Zend/zend_vm_gen.php`├─zend_vm_opcodes.c#Generatedby`Zend/zend_vm_gen.php`├─zend_vm_opcodes.h#Generatedby`Zend/zend_vm_gen.php`└─...├─appveyor/#AppveyorCIservicefiles└─build/#*nixbuildsystemfiles├─ax_*.m4#