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

Как передать ссылку на метод?

Можно ли в PHP передать ссылку на метод объекта как аргумент в функции?

Что-то типа такого:

class Converter {
  public function convertDate($date) {
    ....
  }
}

function convert($rawData, callable $convertMethod) {
  return $convertMethod($rawData);
}

// Использование

$converter = new Converter;

$data = convert($rawData, $converter::convertDate)
  • Вопрос задан
  • 509 просмотров
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    1 месяц
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 1
Stalker_RED
@Stalker_RED
call_user_func не то?
class cat {
	function say() {
		echo 'meow' . PHP_EOL;
	}
}

class dog {
	function say() {
		echo 'woof' . PHP_EOL;
	}
}

call_user_func([dog, 'say']);
call_user_func(dog . '::say');

$cat = new cat();
call_user_func([$cat, 'say']);

https://ideone.com/qh84WU
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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