| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как добавить новую функцию в класс |
| Автор: anthonyBoard 8.11.2008, 19:10 |
| Здравствуйте! Возникла необходимость добавить функцию в уже объявленный класс, но в документации подобного не нашел, как это можно реализовать? есть класс class Some{ ... } $some = new Some; и надо добавить в него функцию function doSome(){ print 'DONE'; } чтобы она стала доступна по $some->doSome(); Заранее благодарен за помощь! |
| Автор: awers 8.11.2008, 19:26 | ||
не хотел особо мучаться, вот что получилось
может и проще можно |
| Автор: anthonyBoard 8.11.2008, 19:44 |
| Хм.. Что-то не хотит. Пишет Call to undefined method Some::doSome() |
| Автор: awers 8.11.2008, 19:46 | ||
пхп5?
а ты скорее всего обратился как $твойКласс->новаяФункция(); так и не сработает |
| Автор: anthonyBoard 8.11.2008, 19:48 | ||
Надо же так
Хотя сейчас пришла другая идея на ум, попробую. Напишу если прокатит. Добавлено через 30 секунд Да-да, именно так и пытаюсь! |
| Автор: anthonyBoard 8.11.2008, 20:09 |
| Не получается что-то вживить функцию в класс. Если кто-нибудь знает другие варианты, помогите пожалуйста! |
| Автор: skyboy 9.11.2008, 00:27 |
| http://ua.php.net/manual/en/function.classkit-method-add.php попробуй |
| Автор: anthonyBoard 9.11.2008, 00:51 |
| Спасибо, это то что надо! Но! Какова вероятность, что эта функция будет на хосте? У меня, например, Call to undefined function classkit_method_add() вылетает, к сожалению. Хотя по документации эта функция что надо, правда экспереминтальная. |
| Автор: awers 9.11.2008, 02:07 |
| skyboy, упс. не видал такого ) |
| Автор: anthonyBoard 9.11.2008, 11:53 |
| Что-то никто так и не ответил на счет вероятности присутствия PECL на сервере . А вообще в дивжке стоит ли использовать те методы, которые могут отсутствовать на сервере? Потому что мне кажется это не очень хорошо. |
| Автор: anthonyBoard 9.11.2008, 13:12 |
| Просто эту систему потом буду использовать не только я, и хочется чтобы она работала хотя бы на php >= 5 со стандартным набором модулей. Вот если взять во внимание существующие самые распространенные CMS'ины: Joomla, Bitrix и другие на этом же уровне, у них есть ограничения подобные, что на сервере должно быть то и то иначе не заработает? |
| Автор: anthonyBoard 9.11.2008, 18:37 | ||
| Что-то тема повисла, решений больше никаких не появляется. Возможно ли как-нибудь импортировать методы одного класса в другой но не делая наследований одного от другого? Т.е. что-нибудь вроде такого:
|
| Автор: anthonyBoard 9.11.2008, 20:35 |
| Возможно ли чтобы класс унаслеловал методы другого во время __construct? |