[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Магические методы объектов
Xes
http://www.cyberforum.ru/php-oop/thread160444.html
Как использовать объект как функцию?

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() не работает.
Не работает этот код. У вас работает?

Спустя 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 появился.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.