Итак, у меня есть хостинг, который отказывается обновляться до PHP 5.3 (что раздражает, но в то же время неплохо; я гибок), но единственное, что меня действительно раздражает, - это отсутствие __callStatic в наличии.
У меня загружены модули, которые я хочу объединить в один класс (т.е. есть класс, который загружает модули, а затем обращается к функциям этих модулей через вызовы метода __callStatic основного класса), но когда я загрузилс локального сервера тестирования на мой сервер, очевидно, метод __callStatic не работал.
Есть ли альтернатива, которая все еще статическая?Мне нравится, когда чистый код ищет двойное двоеточие (то есть registry::some_func()
) вместо $registry->some_func()
.
Еще один минус в том, что теперь я вынужден использовать ключевое слово global
в функциях(что по моим собственным предпочтениям очень, очень грязно).
Код также был чрезвычайно быстрым, используя статические методы вместо нестатических, и, в свою очередь, намного более чистым.
Также: Я думал о том, чтобы написать метод __callStatic как обычно с 5.2, а затем явно вызывать методы, например registry::__callStatic("some_func"), array("val", "val2", "val3")
, и таким образом упростить вещи, даже упрощая их.мигрировать, когда они обновляются до 5.3.Мысли об этом методе?
Спасибо!