有办法从php文件中获取用户定义的php函数、变量、常量吗?下面的函数并不是最好的方法,因为它们得到了所有已消隐的函数/vars/常量(包含了数百个php的内置常量和内部php函数):
get_defined_vars
get_defined_functions
get_defined_constants 假设我有一个文件myfile.php
<?php
$title = 'Sample Application';
$copyright = 'Copyright © 2009';
$my_array = array('sarfraz', 'ahmed', 'chandio');
define ('_CASTE', 'chandio');
define ('_COUNTRY', 'Pakistan');
function add($val1, $val2)
{
return ($val1 + $val2);
}
function subtract($val1, $val2)
{
return ($val1 - $val2);
}
?>现在,我如何从该文件中获取所有变量/函数/常量,并可能存储在一个数组中?
谢谢
发布于 2009-12-07 06:52:35
您可能希望尝试PHP托卡器。
http://www.php.net/manual/en/ref.tokenizer.php
来自外部脚本:
<?php
var_dump(token_get_all(file_get_contents('myscript.php')));
?>发布于 2009-12-07 07:25:22
调用get_defined_functions,然后包含文件,再次调用get_defined_functions并计算差额。
发布于 2016-04-21 19:49:18
获取文件中定义的所有变量
$init_var = get_defined_vars();
include_once('file_to_check.php');
$init_var2 = get_defined_vars();
unset($init_var2['init_var']);
$variables_defined_in_file = array_diff_key($init_var2, $init_var));
var_dump($variables_defined_in_file);应该通过将get_defined_vars()替换为
get_defined_vars()
get_defined_functions()
get_defined_constants()https://stackoverflow.com/questions/1858285
复制相似问题