совпадение строк для магического метода __call - PullRequest
0 голосов
/ 07 июля 2011

У меня есть набор методов, названных как getThing($what, $extra_args) ( get всегда присутствует в имени)

... и помимо обычного способа их вызова я также хочу иметь возможность называть их как:

  • getWhatThing() => return getThing($what, $extra_args);

  • WhatThing() => echo getThing($what, $extra_args);

  • Thing('what') => echo getThing('what', $extra_args);

  • если все это не сработает, метод не существует ошибка ...

Как я могу сделать это из __call()? Я знаю, что должен избегать магических методов, но я хочу облегчить жизнь людям, которые будут использовать мой API:)

Спасибо

Ответы [ 2 ]

1 голос
/ 07 июля 2011

То, что вы спрашиваете, не имеет смысла ..
Все ваши методы должны просто return $var.

В этот момент, если вы хотите повторить его, вам нужно выполнить команду:

echo getThing();
0 голосов
/ 07 июля 2011

Код в этом комментарии к документации PHP.net для __call должен стать хорошей отправной точкой для вас, но вам нужно добавить больше совпадений в раздел переключателей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...