2009-12-07 1 views
2

Есть ли способ получить пользовательские функции php, переменные, константы из php-файла? Следующие функции не лучший способ сделать это, потому что они получают все decalred функции/ВАР/констант (с сотнями РНР встроенных констант и внутренних функций PHP):PHP: Получить переменные PHP, функции, константы из php-файла

get_defined_vars 
get_defined_functions 
get_defined_constants 

Предположим, у меня есть этот файл myfile.php:

<?php 
$title = 'Sample Application'; 
$copyright = 'Copyright &copy; 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); 
} 
?> 

Теперь, как я могу получить все переменные/функции/константы из этого файла и, возможно, хранить в массиве?

Thanks

ответ

0

вызов get_defined_functions, а затем включить этот файл, вызовите get_defined_functions еще раз и вычислить разницу.

0

Чтобы все переменные определены в файле

$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()