Rumah > pembangunan bahagian belakang > tutorial php > 如何迅速找到PHP底层源码中找到指定函数的实现位置

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

WBOY
Lepaskan: 2016-06-06 20:31:16
asal
2090 orang telah melayarinya

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

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

回复内容:

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

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

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

查看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

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

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

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

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

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan