Проблема с глобальными переменными

Тема в разделе "Программирование", создана пользователем vezunchik, 18.11.2008.

  1. Offline

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

    Регистрация:
    18.11.2008
    Сообщения:
    2
    Симпатии:
    0
    Помогите, вот пытаюсь написать свой компонент, столкнулся с такой проблемой.
    Вот кусок кода моего компонента, в функции объявляю переменные $param и $test как глобальные, т.е. в результате функция SectList должна вывести значения этих переменных. Но почему то когда компонент запускается из Joomla, то эти переменные становятся пустыми, а если скрипт запускаю напрямую в обход Joomla, то скрипт нормально выводит значения переменных.
    В чем тут может быть дело? помогите...
    Код (PHP):
    1. $param = "index.php?option=com_catalogg";
    2.  
    3. $test = "test";
    4.  
    5. SectList();
    6.  
    7. function SectList()
    8. {
    9. global $param, $test;
    10.  
    11. echo $param.$test;
    12.  
    13. }


    Если прописать global $param, $test; вне функции, то функция начинает видеть значения переменных $param и $test.
     
  2.  
  3. sectus
    Offline

    sectus специалист

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Код (PHP):
    1. global $param, $test;
    2.  
    3. $param = "index.php?option=com_catalogg";
    4.  
    5. $test = "test";
    6.  
    7. SectList();
    8.  
    9. function SectList()
    10.  
    11. {
    12.  
    13. global $param, $test;
    14.  
    15. echo $param.$test;
    16.  
    17. }
     
  4. Offline

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

    Регистрация:
    18.11.2008
    Сообщения:
    2
    Симпатии:
    0
    Ну то что надо прописать global и вне самой функции я уже догадался. Но почему так происходит? Ведь обычно в скрипте если хотел в функции использовать глобальную переменную, то писал только в тексте самой функции global. Не понимаю... :'(
     
  5. sectus
    Offline

    sectus специалист

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Потому что вызванный оде не самый "верхний", он тоже часть функции
     

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

Загрузка...