PHP переменная функция - PullRequest
       9

PHP переменная функция

0 голосов
/ 19 марта 2012

Давайте представим, что это происходит внутри метода класса (чистый пример):

public function runEvent($funcName, $params)
{
 $funcName($this, $params);
}

//somewhere else
function myFunc($anBOject, $paramsHere, $somethingElse = NULL)
{
 //do stuff
}

$SomeClassObj->runEvent('myFunc', array('dog', 'cat'));

Могу ли я предположить, что PHP выполнит myFunc с первым параметром $ this, вторым значением $ params, а затем NULL в качестве третьего параметра (по умолчанию)?

Этот вопрос больше предназначен для понимания того, как PHP работает с переменными функциями. У меня нет никаких проблем в определенном проекте.

Спасибо!

1 Ответ

1 голос
/ 19 марта 2012

Да.

$funcName($this, $params);

называется точно так же, как

myFunc($this, $params);

Первый параметр - $this, второй $params, третьего нет.

Для вызова функций с переменным числом аргументов используйте call_user_func_array.

...