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