Как проверить не только зарезервированные ключевые слова, но и встроенную функцию или «специальную переменную»? - PullRequest
0 голосов
/ 12 марта 2020

Я наконец-то смог проверить любое "зарезервированное ключевое слово" в PHP, такое как "if", "for" и "else". Я нашел полезный хак на Stack Exchange, который делает это, по сути запекая его во временную PHP строку кода, а затем проверяя его с помощью token_get_all ().

Однако я до сих пор не представляю, как я могу проверить, данная строка соответствует встроенной функции , такой как "mb_strpos" или "dl". Я также не нашел способа проверить, соответствует ли данное имя переменной «специальной, встроенной переменной », такой как «arg c», «argv» , "_GET", "_POST", "php_errormsg" и т. Д. c.

Я пытаюсь избежать ручного перечисления их в моем коде любой ценой. Мне очень не нравится идея «жестко запрограммировать» такие вещи и чувствовать постоянное напряжение от необходимости поддерживать его в актуальном состоянии по мере развития PHP, и новые версии добавляют материал в этот список.

I wi sh У PHP была одна, унифицированная функция, такая как:

var_dump(is_php_stuff('mb_strpos'));
var_dump(is_php_stuff('$_GET'));
var_dump(is_php_stuff('_GET'));
var_dump(is_php_stuff('argc'));
var_dump(is_php_stuff('if'));
var_dump(is_php_stuff('myownstuff'));

И вывод:

true
true
true
true
true
false

Это наверняка будет сильным ударом, но к этому моменту я уверен, что такого не существует.

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