динамическое подключение методов

uninside

Новичок
динамическое подключение методов

Нужно в класс динамически добавить несколько методов.
classkit и aggregate нельзя использовать, так как хостер не поддерживает эти mod_

пробовал:
PHP:
$method="new_method";
$myclass->$method="some_func";
function some_func()
{
//...
}
- это работает
Но проблема в том, что велика вероятность повтора имен функций (потому как разрабатываются модули несколькоми людьми и правила именования ф-ций не определены).
 

tony2001

TeaM PHPClub
забудь.
даже с classkit - это для тех, кто понимает, что делает.
 

uninside

Новичок
да, очень желательно анонимные ф-ции.
Я, конечно, понимаю, это заморочка, но create_function не хочется совсем использовать из-за его некрасивого написания.

-~{}~ 08.01.06 23:17:

tony2001 classkit ничего сложного не представляет

-~{}~ 08.01.06 23:18:

svetasmirnova угу, через __call построена динамическая подгрузка
 

algo

To the stars!
Tony, а чем плох класскит для миксинга? Добавить там пачку методов к классу.. (mixin).. Множественное наследование..
 

tony2001

TeaM PHPClub
тем, что он для тех, кто понимает что делает.
я не могу себе представить, чтобы он понадобился кому-то в продакшен.
 

uninside

Новичок
tony2001 а вот представь:)
-----
но вобще задача стоит в том, как минимизировать затраты при загрузке модулей. так как на одной странице, например, отрабатывать может 5 модулей из 50, и чтобы не забивать зря память надо реализовать нормальную подгрузку. Заранее же не известно, какие модули будут отрабатывать.
 

tony2001

TeaM PHPClub
не вижу никакой связи между "минимизировать затраты при загрузке модулей" и "выстрелить себе в ногу".
 

algo

To the stars!
tony2001 - множественное наследование(подмешивание). Удобная штука.

Почему она вдруг не нужна в продакшн?
 

tony2001

TeaM PHPClub
приведи пример, который без этой "удобной штуки" нельзя решить?
 

uninside

Новичок
tony2001 что-то не вижу логики в твоем ответе. каждый модуль, допустим, весит по 25КБ в среднем, а таких 50, значить в сумме необходимо загрузить более 1МБ кода. так не проще ли подгружать то, что необходимо во время вызова для экономии.
модули должны быть подгружены все сразу (такова специфика - они должы быть проинициализированы)
 

algo

To the stars!
Tony2001

У тебя странный вопрос. Обойтись в этой жизни можно без многого, даже переписываться можно голубями вместо email, а в туалет ходить под елочку.

Множественное наследование(подмешивание) - это удобный инструмент написания программ. Некоторые языки поддерживают такие возможности "от рождения": C++, Ruby.

Совершенно непонятно, почему он не нужен в продакшне ПХП, который обладает существенно меньшими выразительными средствами, чем оба вышеперечисленных языка.
 

tony2001

TeaM PHPClub
раз его нет - значит, он не нужен.
если он не нужен - зачем его "СИмулировать" ?
и уж точно - в данном конкретном случае не нужно ни множественное наследование, ни динамическое добавление методов.

-~{}~ 09.01.06 01:44:

> почему он не нужен в продакшне ПХП, который обладает существенно меньшими
> выразительными средствами, чем оба вышеперечисленных языка.
сравнивать C++, Ruby и PHP в одном предложении - это забавно =)
 

algo

To the stars!
Тони2001: шутник. Если у тебя нет 100000$ наличными, то оно тебе и не нада?

Нет, я действительно не понимаю твоей логики..
 

kost

Новичок
Блин. Да просто посмотри исходники PEAR::DB. Там все отлично динамически подгружается. Наследие, интерфейсы и все тут.
 

kost

Новичок
Ну, насколько я понял, проблема из "динамического подключения" превратилась в "как по-человечески". Не так ли?
 

algo

To the stars!
Я перевел топик в вопрос о применении classkit.. Например, для множественного наследования, в продакшн. Тони считает, что оно в продакшн не надо.

Изначально вопрос был в динамическом добавлении методов.
 

texrdcom

Новичок
algo
Скажи почему в java не сделали множественное наследования это ведь так круто ?
:)
И не ужели не льзя динамически в клссе создать обьект(другого класса) когда он нужен - и таким методом получаеш столько и каких нужно подлюченных функций. :)
Автору кроме как посоветовать читать про паттерны нечего и в голову не приходит! :)

-~{}~ 09.01.06 05:07:

runkit :)
 
Сверху