Я создаю небольшой абстрактный класс, который должен облегчить выполнение определенных задач.
Например:
$ var = class :: get ('id');
будет запускать проверку, если в $ _GET есть идентификатор указателя, возвращая строку или массив в соответствии с параметрами. Это также должно работать для почты и запроса и больше.
Я делаю это так, как есть функция для всех суперглобалистов. Я использую get в качестве примера:
Функция get получает указатель в качестве параметра, вызывает функцию fetchdata и использует указатель и «$ _GET» в качестве параметров.
fetchdata должен просто слепо использовать полученную строку как суперглобальную и указывать на нее другим параметром. Затем проверьте, существует ли оно там, и верните либо значение, либо false, чтобы получить функцию, которая возвращает значение / false вызывающей стороне.
Единственная проблема состоит в том, чтобы заставить струну работать как суперглобальную, когда вы не знаете, что это такое. Я делал это раньше с помощью переключателя, который проверял параметр, и в случае, если он был «get», он устанавливал $ _GET в значение другой переменной. Однако я не хочу делать это так, я хочу, чтобы было легко добавлять больше функций, не касаясь данных извлечения.
Я пробовал $ method = eval ($ method), но это не сработало. ($ method = "$ _GET"), есть предложения?
РЕДАКТИРОВАТЬ: Извините, если я не выразил это достаточно ясно. У меня есть переменная X со строковым значением «$ _GET», как я могу сделать так, чтобы X получал значения из источника, описанного в строке?
Так просто это
$ X = $ _GET, если X имеет значение "$ _GET"
$ X = $ _POST, если X имеет значение "$ _POST"
Я просто не знаю, какое значение имеет X, но ему нужно получить данные из superglobal с тем же именем, что и его значение.