首页 > 如何迅速找到PHP底层源码中找到指定函数的实现位置

如何迅速找到PHP底层源码中找到指定函数的实现位置

在学习PHP的过程中,希望了解在PHP底层如何实现的某函数,但PHP源码那么多,我该如何去寻找。

比如现在要找var_dump()函数到底是怎么实现的?


http://rapheal.sinaapp.com/2013/11/14/php_zend_lex/


直接查某个函数是怎么实现的,查api来得方便,或者直接搜索引擎搜索,源代码的话也没什么捷径,你不熟的话只能一层层的查找,你熟悉之后,就可以直接进去相对应的文件夹或者文件查找。

另,有些开发工具是可以右键进入到定义的函数方法的。


采纳的那个方案不错,但是不够方便,官网其实提供了一个工具,域名是 http://lxr.php.net,可以让你迅速查到定义


看zend 源码,大部分是用c写的,


查看PHP函数的C语言实现:
cd php-src
查找 grep -rn "PHP_FUNCTION(socket_accept)" ./ext
返回 ./ext/sockets/sockets.c:938:PHP_FUNCTION(socket_accept)
查找 grep -rn "PHP_FUNCTION(array_merge)" ./ext
返回 ./ext/standard/array.c:2266:PHP_FUNCTION(array_merge)
可以看出,PHP库函数的基本都在php-src/ext目录下,里面有具体函数库比如socket,一般的函数基本都在标准库standard.

PHP源码的几个重要目录:
ext(扩展) 108M
Zend(引擎) 9.2M
sapi(cli/cgi/mod_php/fpm) 3.1M

【热门文章】
【热门文章】