| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Передача объекта в функцию. |
| Автор: Mal Hack 5.2.2006, 23:41 |
| Вот такой сабж. Имеем метод класса на вы полнении. В этом методе вызывается сторонная функция abc(). В этой функции надо обратиться к другому методу объекта из которого она была вызвана. Понятное дело, что $this как параметр передать нельзя. Включать функцию в сам класс несколько не хотелось бы. Есть ли какие-ть варианты? |
| Автор: IvanB 7.2.2006, 11:34 | ||
| Извините, если неправильно понял вопрос. Самое очевидное (и пока единственное), что в голову пришло.
|
| Автор: smartov 7.2.2006, 13:15 | ||
| Mal Hack Мы с моим другом php посовещались, и решили что можно
|
| Автор: Mal Hack 7.2.2006, 14:08 | ||||
| IvanB создание еще одного объекта отменяется. Как-то про ссылку я забыл... Имеем (в методе класса):
Функция, которую надо вызвать:
Как бы мне это грамотно в create_function записать... |
| Автор: smartov 7.2.2006, 19:29 | ||
| Mal Hack В смысле вызвать. Ты же вроде создаешь функцию. Ты иммешь ввиду создать функцию "function hl_do_PHP( $argv , &$obj )" с помощью create_function? Ну я на твоем примере приводить не буду. Чтобы не запутать. Но тогда если мой изменить, то будет так:
|
| Автор: Mal Hack 7.2.2006, 19:45 |
| В методе класса есть вызов preg_replace_callback, callback функцией должна быть "function hl_do_PHP", объявленная вне класса. preg_replace_callback передает ей один параметр - то, что она нашла в регулярке. А мне надо в этой функции еще и указатель на this получить, поэтому чтобы передать два параметра создаю create_function |
| Автор: Mal Hack 8.2.2006, 01:59 | ||||
Пробовал, не получается.
Это нагрузку создаает, к сожалению. |
| Автор: smartov 8.2.2006, 12:40 | ||
| Mal Hack А у меня работает.
|
| Автор: Mal Hack 8.2.2006, 16:15 |
| Ты в create_function вызываешь метод, а мне надо функцию вне класса вызвать, а уже в ней метод. |
| Автор: smartov 8.2.2006, 18:16 | ||
| Mal Hack Ты не обижайся. Я смотрю ты ведь даже FAQ ведешь... Я же показал примером что global прекрасно работает. Дополнить код так как тебе надо, было уже просто делом техники.
p.s. код проверен и рабочий. |
| Автор: AntonioBanderaz 8.2.2006, 18:17 | ||
эээ как я понял...
ну а вот с классами нет PHP под рукой чтоб проверить... но должно сработать не понял чутка что значит метод функции??? |