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
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 13441]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 9206]
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 8826]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 8133]
[124]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 6808]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 4938]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 4902]

Вести с Хабра