Как использовать объект как функцию?
class Dog
{
private $name;
public function __construct($dogName = 'Тузик') {
$this->name = $dogName;
}
public static function __invoke() {
$args = func_get_args();
echo 'Собака получила: ' . implode(' и ', $args);
}
}
$dog = new Dog('Мухтар');
$dog('кость', 'поводок');
Пытаюсь запустить этот код пишет функция должна быть строкой.
А на сайте говорять что должно работать, хотел применить такю штуку в своем коде.
Спустя 1 час, 29 минут, 22 секунды (13.09.2011 - 00:07) vital написал(а):
А этот пример работает. У вас какая версия php ?
Обновитесь.
Обновитесь.
Спустя 18 минут, 42 секунды (13.09.2011 - 00:25) Xes написал(а):
PHP Version 5.2.12
У меня работают другие вещи тип function __toString() именно __invoke() не работает.
Не работает этот код. У вас работает?
У меня работают другие вещи тип function __toString() именно __invoke() не работает.
Не работает этот код. У вас работает?
Спустя 5 часов, 10 минут, 43 секунды (13.09.2011 - 05:36) twin написал(а):
В 5.3.4 работает
Спустя 5 минут, 57 секунд (13.09.2011 - 05:42) vital написал(а):
Цитата (Xes @ 12.09.2011 - 21:25) |
PHP Version 5.2.12 У меня работают другие вещи тип function __toString() именно __invoke() не работает. Не работает этот код. У вас работает? |
Я же сказал - обновитесь. Инвоук только в 5.3 появился.