get_loaded_extensions — 返回所有编译并加载模块名的 array

array get_loaded_extensions ([ bool $zend_extensions = false ] )


该函数返回了 PHP 解析器里所有编译并加载的模块名。


说明


array  get_loaded_extensions ([  bool ​​$zend_extensions​​ = false


该函数返回了 PHP 解析器里所有编译并加载的模块名。




参数


​zend_extensions​

只返回 Zend 扩展,并非类似 mysqli 的普通扩展。默认是 ​​FALSE​

返回值

返回所有模块名的一个索引数组(array)。


Array
(
[0] => Core
[1] => bcmath
[2] => calendar
[3] => ctype
[4] => date
[5] => ereg
[6] => filter
[7] => ftp
[8] => hash
[9] => iconv
[10] => json
[11] => mcrypt
[12] => SPL
[13] => odbc
[14] => pcre
[15] => Reflection
[16] => session
[17] => standard
[18] => mysqlnd
[19] => tokenizer
[20] => zip
[21] => zlib
[22] => libxml
[23] => dom
[24] => PDO
[25] => openssl
[26] => SimpleXML
[27] => wddx
[28] => xml
[29] => xmlreader
[30] => xmlwriter
[31] => apache2handler
[32] => curl
[33] => gd
[34] => mbstring
[35] => mysql
[36] => mysqli
[37] => Phar
[38] => pdo_mysql
[39] => pdo_sqlite
[40] => soap
[41] => SQLite
[42] => mhash
)



get_extension_funcs — 返回模块函数名称的数组


说明



array  get_extension_funcs (  string ​​$module_name​



该函数根据 ​​module_name​​ 返回模块内定义的所有函数的名称。


参数


​module_name​


模块名称。

Note:

这个参数必须是小写(lowercase)的。


返回值

返回包含所有函数名的数组,如果 ​​module_name​​​ 不是一个有效的扩展则返回 ​​FALSE​​。

extension_loaded — 检查一个扩展是否已经加载


说明



bool  extension_loaded (  string ​​$name​



检查一个扩展是否已经加载。


参数


​name​


扩展名称,大小写不敏感。


返回值

如果 ​​name​​​ 指定的扩展已加载,返回​​TRUE​​,否则返回 ​​FALSE​​。




示例:


$ext_info = array();
$loaded_extensions=get_loaded_extensions();//获取已加载的扩展
foreach($loaded_extensions as $ext)
{
$funs=get_extension_funcs($ext);//获取某一扩展下的所有函数
if(!empty($funs) && is_array($funs))
{
foreach($funs as $fun)
{
$reflect = new ReflectionFunction($fun);
$params = $reflect->getParameters();//获取函数参数信息
$param_str = '';
if(!empty($params) && is_array($params))
{
foreach($params as $param) {
if($param->getName() != '')
{
$param_str .= '$'.$param->getName().',';
}
}
$param_str = substr($param_str,0,-1);
}
$ext_info[$ext][] = $fun.'('.$param_str.')';
}
}
}
echo '<pre>';
print_r($ext_info);