|
get_defined_functions
Returns an array of all defined functions
(PHP 4 >= 4.0.4, PHP 5)
Example 762. get_defined_functions() example<?php The above example will output something similar to: Array Code Examples / Notes » get_defined_functionsberchentreff
look at here, list all the defined function on your php-Version and give as well formatted output width links onto the php-manual: <html><head> <style type="text/css"><!-- li{font-family:Verdana,Arail,sans-serif;width:500px;margin-top:7px;} a{padding:4px;} a.a1{font-size:12px;background-color:#CCCCCC;color:#663300;} a.a1:hover{background-color:#663300;color:#CCCCCC;} a.a1:visited{background-color:#fff;color:#999;} a.a1:visited:hover{background-color:#fff;color:#999;} a.a0{font-size:12px;background-color:#CCCCFF;color:#663399;} a.a0:hover{background-color:#663399;color:#CCCCFF;} a.a0:visited{background-color:#ffC;color:#999;} a.a0:visited:hover{background-color:#ffC;color:#999;} --></style> </head><body style="background-color:#999;"> <?php $arr = get_defined_functions(); foreach($arr as $zeile){ sort($zeile);$s=0; foreach($zeile as $bzeile){ $s=($s)?0:1; echo "<li><a class='a".$s."' href='http://de.php.net/".$bzeile."'>".$bzeile."</a></li>";} } ?> </body> </html> kaneccc
I've written simple XML-RPC server which automatically registers all defined functions starting with "RPC_" prefix and found, that with PHP 2.4.3 on Win32 and Linux platforms function names are in lowercase so the xmlrpc_server_call_method() is case sensitive which is correct with XML, but not with PHP and get_functions_defined() I also suggest changing the function to have flags/options to return internal, user or both functions only and starting with prefix such as: --- // constants define( 'xxx_INTERNAL', 0x1 ); define( 'xxx_USER', 0x2 ); define( 'xxx_BOTH', 0x3 ); // declaration array get_functions_defined( int options, string prefix ); --- with both arguments optional. Johnnie peten
Here's a useful trick with the get_defined_functions function - show all available functions with a link to the documentation (you can even change the mirror it goes to): <?php // the php mirror $php_host = "http://us2.php.net/"; // the number of cols in our table $num_cols = 3; $ar = get_defined_functions(); $int_funct = $ar[internal]; sort($int_funct); $count = count($int_funct); ?> <html> <head> <title> Available PHP Functions </title> </head> <body> <?php print $count; ?> functions available on <?php print $_SERVER[SERVER_NAME]; ?> (<a href="<?php print $php_host;?>" target="phpwin">php</a> version <?php print phpversion(); ?>) <table align="center" border="2"> <tr> <?php for($i=0;$i<$count;$i++) { $doc = $php_host . "manual/en/function." . strtr($int_funct[$i], "_", "-") . ".php"; print " <td><a href=\"" . $doc . "\" target=\"phpwin\">" . $int_funct[$i] . "</a></td>\n"; if(($i > 1) && (($i+$num_cols)%$num_cols==($num_cols-1))) print " </tr>\n <tr>\n"; } for($i=($num_cols-($count%$num_cols));$i>0;$i--) print " <td> </td>\n"; ?> </table> </body> </html> php dot net
Here is another example which list all the available functions and gives a link to the manual pages at the same time. $manref = "http://www.php.net/manual/en/function"; $arr = get_defined_functions(); while (list($type,$list) = each($arr)) { if ($type == "internal" && is_array($list)) { sort($list); foreach ($list as $func) { if ($func == "_") $func2 = "gettext"; else $func2 = preg_replace("/_/", "-", $func); echo "<a href=\"$manref.$func2.php\">$func</a> \n"; } } } mihatespamduskis
At least with PHP 4.2.3 on a GNU/Linux/Apache platform, get_defined_functions() returns user-defined functions as all-lower case strings regardless of how the functions are capitalized when they are defined. Threw me for a loop. |