VDS за 300р от нашего партнера SpaceWeb
[76]
20 Янв 2012, 13:07

Перехватить вызов статического метода

Привет!

Как в PHP перехватить вызов статического метода, если такого метода не существует? Что-то вроде магического метода __call. Только вот для статических методов он не работает.

#php

Комментарии (1)
grom 20.01.2012 19:32

Для этого существует магический метод __callStatic.

__callStatic (string $name , array $arguments)

class MethodTest {
public function __call($name, $arguments) {
echo "Вызов метода '$name' "
. implode(', ', $arguments). "\n";
}

public static function __callStatic($name, $arguments) {
echo "Вызов статического метода '$name' "
. implode(', ', $arguments). "\n";
}
}

$obj = new MethodTest;
$obj->runTest('в контексте объекта');

MethodTest::runTest('в статическом контексте');

Думаю тут всё понятно.
0

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Найди ответ на любой вопрос по Веб-разработке!
задать вопрос...
Вы можете разместить Рекламный пост самостоятельно, либо отправив контент по адресу admin@webonrails.ru→ Оплата здесь ←Неоплаченные посты удаляются.
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 22417]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 16465]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 13063]
[125]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 10099]
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 9881]
[315]
11 Авг 2011, 00:21
Спецификация HTML5 от W3C
[просмотров 7419]
[50]
31 Дек 2011, 14:57
Cron запускать раз в неделю
[просмотров 6727]

Вести с Хабра