Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов функции из класса 
V
    Опции темы
neokortex
Дата 7.5.2013, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 19.3.2007

Репутация: нет
Всего: нет



Есть класс получающие и обрабатывающий некие данные. В одной из функции надо сделать так чтобы вызывалась функция которой нет в классе.

Приблизительный пример.

Код

class myClass{
    public $options;
    public $data;
    public function myFunction(){
        $newData = $data; // обрабатываем каким-то образом $data
        if ($this->options['callAnotherFunction']) {
            // как вызвать функцию - anotherFunctionName, чтобы ей был доступен $newData
        }
   }
}


$myClass = new myClass();
$myclass->data = 'myData';
$myClass->options = array(
    option1=>'oprtion1',
    option2=>'oprtion2',
    option3=>'oprtion3',
    callAnotherFunction=>'anotherFunctionName'
);

function anotherFunctionName(){
    // здесь работаем с $newData
}


PM MAIL   Вверх
Чучмек
Дата 7.5.2013, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Передавай $newData в anotherFunctionName параметром. Или объяви глобальную переменную в  anotherFunctionName  в чем проблема?


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Zorak
Дата 13.5.2013, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Вот передать $NewData параметром будет в самый раз, если функция описана в другом классе, то подключи клас в классе и всЕ)


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Gold Dragon
Дата 22.5.2013, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



кто-то понял вопрос? я нет smile можно ещё раз объяснить... И кстати, в классе не функции, а методы


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Zorak
Дата 23.5.2013, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(Gold Dragon @ 22.5.2013,  20:50)
И кстати, в классе не функции, а методы

таки да -=)


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
cia
Дата 30.5.2013, 23:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: 4
Всего: 4



Код

    public function myFunction(){
        $newData = $data; // обрабатываем каким-то образом $data
        if ($this->options['callAnotherFunction']) {
            // как вызвать функцию - anotherFunctionName, чтобы ей был доступен $newData
            $s=$this->options['callAnotherFunction'];
            $s($newData);
        }
   }


function anotherFunctionName(&$newData){
    // здесь работаем с $newData
}



Это сообщение отредактировал(а) cia - 30.5.2013, 23:28
PM WWW ICQ   Вверх
krundetz
Дата 31.5.2013, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



neokortex, посмотрите в сторону магического метода __call()


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
neokortex
Дата 27.6.2013, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 19.3.2007

Репутация: нет
Всего: нет



cia, спасибо, помогло!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.