PHP源码阅读Part1结构

注:这篇文章的内容出自ircmaxell的博客,这里只是翻译整理一下!

  了解一件事情背后的原理,可以让我们处理起这件事情更加得心应手。这是PHP源码的第一篇博文,主要简单介绍从哪里获取源码、源码的大概结构。另外,这里源码统一使用5.4版本,一定要注意这点,后面的实验可能会因为版本不同而出现意外的结果。

去哪里找到源码

  PHP社区已经将PHP源码管理迁移到GIT,你可以在上面获取任何版本的PHP源码,打包下载到本地即可。如果你的电脑上装有git环境。可以使用如下的命令获取源码:

git clone https://github.com/php/php-src.git

  切换为5.4版本:

cd php-src 
git checkout PHP-5.4

  有了源码你就可以选择一款你喜欢的IDE,进行查看,不过这里强烈推荐使用PHP社区提供的一个PHP源码分析分析工具,网址为lxr.php.net。这个工具提供了基本的搜索、定义跳转等功能,分析源码足够了。

PHP源码结构

  PHP的源码是用C语言写的,进入到PHP源码根目录,你会发现很多文件,顿感迷惑。现在我们只需要把注意力集中在ext和zend两个目录。其他的文件我们暂时不会用到。

  PHP主要分为两个部分,第一部分是Zend引擎,主要处理"语言"级别的事情,为我们的PHP代码提供运行环境。我们写好的代码要经过Zend引擎的语法解析,执行。可以说没有Zend引擎就没有PHP。相应的Zend引擎的源码就存放在刚才的Zend目录下。

  PHP第二部分就是大量的核心扩展,说白了就是那些常用的函数,比如:strpos、array_diff、mysql_connect等等,当然也包括一些类库,如PDO。这部分的源码主要在刚才的ext目录下。

  具体可以相应的参照PHP手册的“语法”和“函数参考”两部分。

原文地址:https://www.cnblogs.com/smilealgernon/p/3052427.html