Динамическое определение класса в PHP

Языки ASM, Pascal, C/C++, Perl, Delphi, PHP, Java...
Программируем сами, помогаем друг другу...

Модераторы: Al_lexx, Sharp, ionika, Happy_MAN, 0xFF, Atom, Serega S.U.

Ответить
Abyrvalg
Сообщения: 397
Зарегистрирован: 31 авг 2006, 15:07

Динамическое определение класса в PHP

Сообщение Abyrvalg »

Привет тебе, о неутомимый All!

Имею такой вопрос. Можно ли конструировать классы на лету? То есть, предположим, нужно описать класс, структура которого будет зависеть от каких-либо получаемых данных. Как можно это сделать?

Идеальной была бы вот такая комбинация: :))

Код: Выделить всё

// Запихиваем в $src массив членов класса, а затем...

class Test {

 foreach ($src as $alias)
  var $$alias;
}
Hо, к сожалению, не прокатывает :-)

Можно, конечно, создать универсальную болванку типа такой:

Код: Выделить всё

class Test {
 public $data;
}
и сделать из этой самой $data ассоциативный массив, пихая туда всё что душе угодно. Но как-то не очень смотрится... Есть ещё один более извратный вариант, но хотелось бы послушать опытных товарищей... Вдруг я велосипед изобретаю...
Аватара пользователя
MT
Сообщения: 33
Зарегистрирован: 26 июн 2006, 00:04
Откуда: Moscow
Контактная информация:

Сообщение MT »

«А зачем?»
Изображение
Аватара пользователя
melnik
Сообщения: 7
Зарегистрирован: 23 июн 2010, 10:06

Re: Динамическое определение класса в PHP

Сообщение melnik »

признаться честно, я не супер программист, хотя с классами дело имел. Так вот, мне кажется, что классы пишутся под определенные задачи, а не наоборот (согласен с MT, для чего создавать динамические классы?? Ведь класс - это всего лишь абстракция, на основе которой создается объект). Такой подход обеспечивает большую надежность программного кода.
Очень здорово про это написано в книге Максима Кузнецова и Игоря Семдянова: ООП на PHP.
(это не реклама, сам по этой книжке занимаюсь))))) )
Даже если вас съели, у вас есть два выхода...
Abyrvalg
Сообщения: 397
Зарегистрирован: 31 авг 2006, 15:07

Re: Динамическое определение класса в PHP

Сообщение Abyrvalg »

Я просто хотел создать класс, который генерировал бы сам себя на основе структуры той или иной таблицы в БД. Ведь не секрет, что при работе с БД классы часто в той или иной степени повторяют структуру хранимых там данных.

Впрочем, я уже нашёл решение этой проблемы. Генерация классов на лету вполне осуществима благодаря возможности перехватывать обращения к несуществующим методам и членам класса.
Очень здорово про это написано в книге Максима Кузнецова и Игоря Семдянова: ООП на PHP.
(это не реклама, сам по этой книжке занимаюсь))))) )
Мне весьма пригодилось бы. Реально ли её где-нибудь скачать?
Аватара пользователя
melnik
Сообщения: 7
Зарегистрирован: 23 июн 2010, 10:06

Re: Динамическое определение класса в PHP

Сообщение melnik »

Я такую книжку купил. Но думаю, если погуглить, то "найдется все"))))
Даже если вас съели, у вас есть два выхода...
Ответить