您的位置:首页 > 编程语言 > PHP开发

PHP快速定位函数所在扩展模块(顺带说下语言结构和内置函数)

2012-05-02 01:05 387 查看
导读:在快要入睡前,想起上个月发生的一件事儿。还是和session有关。在这之前,我要找一个函数看源码,都打开源码,打开.h文件.c文件,慢慢寻找。找到了再看源码。效率奇低不说,等我找到函数在哪个扩展(有些并不好找,即使你看到手册也不明白),我已经很困了。嘿嘿,终于让我翻出一个方法。

1 在说具体的方法前,先记说一下 语言结构 和 内置函数。

语言结构,记得一句话就好:和if神马的是同类;

内置函数,由代码段组成的可被重写、调用的已经编译在运行环境里的一种对应关系(有点装了,这个是结合数学里的函数定义的解释,自己乱凑的)。

整理一个php语言结构——容易被误解的那些:

array

die

echo

empty

include(include_once是fun)

isset(和is_null函数牵扯)

listrequire(require_once是fun)

unset


2 CLI下(不愿意写一个脚本,这样比较装,嘿嘿嘿嘿)

php -r '$m=get_loaded_extensions();foreach($m as $mn){$f=get_extension_funcs($mn); if(in_array('mysql_query',$f)){ exit($mn); } }'


注意和你使用的外壳运行环境相关,上面语句在xshell下。如果在win cmd下,是报错的。应该使用:

php -r "$m=get_loaded_extensions();foreach($m as $mn){$f=get_extension_funcs($mn); if(@in_array('mysql_query',$f)){ exit($mn); } }"


想起我的源码阅读计划,汗……天下…………
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: