Я пишу класс API, и моя общая цель - сделать так, чтобы методы любого класса были доступны через API, без каких-либо серьезных изменений в самом классе.По сути, я должен быть в состоянии создать экземпляр класса API для любого класса, который я хочу использовать (в рамках моей небольшой структуры), и он просто работает.
Например, в моем классе API у меня естьметод call
, который я хочу использовать $_GET
для вызова правильной функции из класса, который я хочу сделать доступным (давайте назовем его Beep
).Поэтому я указываю параметр action
в своем API, так что action
- это метод для вызова Beep
, а остальные аргументы в $_GET
являются, предположительно, аргументами для метода.В API->call
я могу сделать $BeepInstance->$_GET['action']()
, но у меня нет способа определить, какие аргументы из $ _GET отправлять и в каком порядке их отправлять.
func_get_args
будет возвращать только список заданных аргументов для функции, в которой она вызывается, и я не обязательно знаю правильный порядок их передачи с помощью call_user_func_array
.
Кто-нибудь пытался сделать что-то подобное?