![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Вот такой сабж. Имеем метод класса на вы полнении.
В этом методе вызывается сторонная функция abc(). В этой функции надо обратиться к другому методу объекта из которого она была вызвана. Понятное дело, что $this как параметр передать нельзя. Включать функцию в сам класс несколько не хотелось бы. Есть ли какие-ть варианты? |
|||
|
||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Извините, если неправильно понял вопрос.
Самое очевидное (и пока единственное), что в голову пришло.
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Mal Hack
![]() Мы с моим другом php посовещались, и решили что можно ![]()
|
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
IvanB создание еще одного объекта отменяется.
Как-то про ссылку я забыл... Имеем (в методе класса):
Функция, которую надо вызвать:
Как бы мне это грамотно в create_function записать... |
||||
|
|||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Mal Hack
В смысле вызвать. Ты же вроде создаешь функцию. Ты иммешь ввиду создать функцию "function hl_do_PHP( $argv , &$obj )" с помощью create_function? Ну я на твоем примере приводить не буду. Чтобы не запутать. Но тогда если мой изменить, то будет так:
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
В методе класса есть вызов preg_replace_callback, callback функцией должна быть "function hl_do_PHP", объявленная вне класса.
preg_replace_callback передает ей один параметр - то, что она нашла в регулярке. А мне надо в этой функции еще и указатель на this получить, поэтому чтобы передать два параметра создаю create_function |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Mal Hack
Месье знает толк в извращениях. ![]() Ну тогда грамотнее некуда. callback функция заточена под 1 параметр с этим ничего не сделать. global - единственный выход. Ну это конечно если "по-умному". А если по намешу (читай "по-сельски" ![]() Это сообщение отредактировал(а) smartov - 8.2.2006, 00:37 |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Пробовал, не получается.
Это нагрузку создаает, к сожалению. |
||||
|
|||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Mal Hack
А у меня работает.
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Ты в create_function вызываешь метод, а мне надо функцию вне класса вызвать, а уже в ней метод.
|
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Mal Hack
Ты не обижайся. Я смотрю ты ведь даже FAQ ведешь... Я же показал примером что global прекрасно работает. Дополнить код так как тебе надо, было уже просто делом техники.
p.s. код проверен и рабочий. |
|||
|
||||
AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
эээ как я понял...
ну а вот с классами нет PHP под рукой чтоб проверить... но должно сработать не понял чутка что значит метод функции??? -------------------- ГЫ... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |