Все о Joomla 1.5

...заметки Котофеича

 
  • Increase font size
  • Default font size
  • Decrease font size

Home vezunchik проблема с глобальными переменными
2008.11.16 10:29:00
vezunchik

Помогите, вот пытаюсь написать свой компонент, столкнулся с такой проблемой.
Вот кусок кода моего компонента, в функции объявляю переменные $param и $test как глобальные, т.е. в результате функция SectList должна вывести значения этих переменных. Но почему то когда компонент запускается из Joomla, то эти переменные становятся пустыми, а если скрипт запускаю напрямую в обход Joomla, то скрипт нормально выводит значения переменных. 

В чем тут может быть дело? помогите...

$param = "index.php?option=com_catalogg";

$test = "test";

SectList();

function SectList()
{
global $param, $test;

echo $param.$test;

}



  переменные
 

kotofeich
2008.11.16 19:29:10

Код выглядит так?
GLOBAL $param, $test;
$param = "index.php?option=com_catalogg";
$test = "test";
SectList();

function SectList()
{
GLOBAL $param, $test;
echo $param.$test;
}

 
 
vezunchik
2008.11.16 20:23:38

Нет, global только в тексте функции SectList

 
 
kotofeich
2008.11.16 20:44:11

ну тогда допиши вне функции

 
 
vezunchik
2008.11.18 03:01:18

Хм... дописал "GLOBAL $param, $test;" вне функции, теперь переменные видны в функции. Но не могу понять почему так???
Почему, когда запускаю напрямую этот скрипт, то в функции переменные видны, так как я ожидал. А когда скрипт запускается через джумлу, то вне функции приходится опять прописывать global.

 
 
kotofeich
2008.11.18 03:25:44

по-моему логично что ты сначала объявляешь глобальные переменные, а потом присваиваешь им знаечения. возможно у тебя включены register_globals, а goomla их каким-то боком блокирует

 
 
vezunchik
2008.11.20 02:55:56

Но почему так происходит? Ведь обычно в скрипте если хотел в функции использовать глобальную переменную, то писал только в тексте самой функции global. Не понимаю...

 
 
yAnTar
2009.01.30 18:13:51

В 1.0 было именно так, в 1.5 поменялось.

 
 
Комментировать
Логин:

E-mail:

  Введите текст изображенный на картинке:
 




ремонт квартир немецкий стиль Трудоустройство в столице. Дипломная работа