VDS за 300р от нашего партнера SpaceWeb
[50]
01 Июл 2012, 18:47

Анонимная функция как метод класса

Привет!

В объект можно добавить свойство динамически.

$obj = new myClass();
$obj.red = 'красный';

Но мне нужно добавить метод.

$obj = new myClass();
$obj->color = function() { return 'Новый метод color'; };
echo $obj->color();

Но такой способ почему-то не работает и выдается ошибка: Fatal error: Call to undefined method.

Как можно динамически добавить метод к классу?

#php

Комментарии (1)
grom 01.07.2012 21:46

Это можно сделать используя магические методы __set, __get и __сall

Посмотрите webonrails.ru/post/1342/, там всё подробно описано.
+2

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

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

Вести с Хабра