Задать вопрос
@TostPOST

Как заставить php вызывать __call если статический метод вызван динамически?

У меня есть небольшой класс для работы со строками, все методы в нем статические и принимают как первый аргумент строку. Нужно сделать возможность создания экземпляра класса, чтобы потом писать что-то наподобие
$stringHelper->offset(3);
вместо
StringHelper::offset($str, 3);
То есть оставить все также, но сделать маршрутизацию методов через __call. Я сделал маршрутизацию написал тесты и ничего не работает. Как я понял php не вызывает __call, а просто выполняет статический метод. Можно как нибудь заставить пхп использовать __call.
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
New_Horizons
@New_Horizons
Бред:
Можно сделать все основные методы приватными, объявить __call, объявить __callStatic и в них уже всё разруливать.
Но все эти костыли и магия так себе конечно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы