ООП в Joomla - обратиться к методу из другого метода.

Тема в разделе "Создание расширений для Joomla", создана пользователем DrunkenMonkey, 14.12.2009.

  1. Offline

    DrunkenMonkey Недавно здесь

    Регистрация:
    05.12.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Женский
    Возникла проблема при создании своег окомпонента. С ООП вообще знакома плохо, поэтому может здесь дело не именно в Joomlе :)

    Проблема - в модели мне надо получить данные из метода POST (создаю один метод), и передать полученные переменные в запрос к базе данных (другой метод того же класса). Из первого метода передаю массив через return. Он нормально выводится через вид и шаблон, но в другой метод в модели не передается. Пишу так
    Код (PHP):
    1. $this->getData()
    где getData() - мой метод для получения данных из метода POST. Так могу получить тольок одну переменную, если возвращаю только переменную, а не массив. Если возвращаю массив, то таким образом получается прост острока "Array". Пробовала так:
    Код (PHP):
    1. $this->interval->b
    (interval - имя массива, и - ключ) - вообще ничего.

    Как сделать правлиьно? или никак нельзя?
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    так это ))) вы пишете
    Код (PHP):
    1. $myVar = $this->getData();
    2. echo $myVar;

    получитие свою строку...
    А если getData возвращает массив, то
    Код (PHP):
    1. $myVar = $this->getData();
    2. foreach($myVar as $item)
    3. {
    4.    echo $item;
    5. }


    получите все элементы )

    Если я все правильно понял.. если проблема не решиться выкладывайте весь класс или можете в асю написать )
     
  4. Offline

    DrunkenMonkey Недавно здесь

    Регистрация:
    05.12.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Женский
    ну мне не надо перебирать массив через foreach? я хотела получить доступ к конкретному элементу где надо.

    типа так:

    Код (PHP):
    1. function getData()
    2.   {
    3.      какой-то код
    4.  
    5.    $MyVar=array("a"=>"var1", "b"=>"var2");
    6.    return $MyVar;
    7.  }
    8.  
    9. function getSQL()
    10.   {
    11.      какой-то код
    12.  
    13.    $MyResult=$this->getData();
    14.    echo $MyResult->b
    15.  
    16.  }
     
  5. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Код (PHP):
    1. $MyResult=$this->getData();
    2.  echo $MyResult->b

    вы же возвращаете массив, а не объект
    Код (PHP):
    1. echo $MyResult[0];
    2. echo $MyResult["b"];  //если массив ассоциативный
     
  6. Offline

    DrunkenMonkey Недавно здесь

    Регистрация:
    05.12.2009
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Женский
    Дай поцелую!!! Всю голову сломала :)
     
  7. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    с удовольствием ;)
     
  8. Offline

    Kravcneger Недавно здесь

    Регистрация:
    29.10.2009
    Сообщения:
    28
    Симпатии:
    0
    Пол:
    Мужской
    DrunkenMonkey , если вы решили вдруг начать разрабатывать программы в фрэймворке , то советую вам лучше досконально изучить php И ОПП парадигму .
    Потом для вас ни одна задача труда не составит .
     

Поделиться этой страницей

Загрузка...