PHP: Получить PHP переменные, функции, константы из файла PHP - PullRequest
2 голосов
/ 07 декабря 2009

Есть ли способ получить пользовательские 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);
}
?>

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

Спасибо

Ответы [ 3 ]

6 голосов
/ 07 декабря 2009

Возможно, вы захотите попробовать PHP Tokenizer.

http://www.php.net/manual/en/ref.tokenizer.php

Из внешнего скрипта:

<?php

var_dump(token_get_all(file_get_contents('myscript.php')));

?>
0 голосов
/ 21 апреля 2016

Чтобы получить все переменные, определенные в файле

$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()
0 голосов
/ 07 декабря 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...