Wordpress + include = cтранный глюк

Alex_prog

Новичок
Wordpress + include = cтранный глюк

Добрый день.
Имеется вордпресс, я вставляю в шаблон блога (через include) свой простенький скриптик:
PHP:
<?php
$a='Test value of ';
class Test{
	var $d;
	function Test(){
		global $a;
		$this->d=$a.'D';
		echo $this->d;
	}
}

$test = new Test();
?>
При этом вывод будет 'D' - глобальная переменная $a перестает быть видимой!!! Сам по себе, без вордпресса, скрипт работает как надо, выводится ''Test value of D'. Сижу вот ломаю голову, ЧТО такого мог сделать вордпресс, чтоб $a стала невидимой???
 

Alex_prog

Новичок
$a объявлена глобальной внутри функции (метода) и должна быть там видна.
 

tf

крылья рулят
тогда пример подправь, а то не видно чтобы она была объявлена глобальной
 

Alex_prog

Новичок
tf не горячись. Прочти мой первый пост еще раз и внимательно.
А хотя - пошли, если найдешь куда.
 

tf

крылья рулят
2 Alex_prog
пашлю http://php.net/include
пашлю тебя посмотреть через дебагер где присваивается первоначальное значение твоей переменной и подумать глобальная она или нет, раз тебе не в недосух было прочитать мой пост и отстранится от твоего кода из которого я специально выдернуть часть
ps/ это было предположение (движое я не знаю но мою предположить как он работает)
если ты раньше писал на сях я бы наверное понял почему ты не понимаеш что совершенно другой случай
 

Alex_prog

Новичок
Ну тогда и я тебя пошлю на http://www.php.net/manual/ru/language.variables.scope.php
там же почитай про С
 

tf

крылья рулят
Ну тогда и я тебя пошлю на http://www.php.net/manual/ru/language.variables.scope.php
хорошая ссылка - как раз показывает твои проблемы
ты дочитал ее до конца?
где-то в середине ответ на твою проблему
 

pmd

Guest
Цитата с сайта:
PHP:
<?php
$a = 1;
$b = 2;

function Sum()
{
   global $a, $b;

   $b = $a + $b;
} 

Sum();
echo $b;
?>
Вышеприведенный скрипт выведет "3". После определения $a и $b внутри функции как global все ссылки на любую из этих переменных будут указывать на их глобальную версию. Не существует никаких ограничений на количество глобальных переменных, которые могут обрабатываться функцией.

---------

tf, как мне кажется здесь идет речь про использование глобальных переменных и этот пример не сильно отличается от примера в первом посте.

Этот код при непосредственном вызове PHP файла работает нормально, а при инклюде из WP выводится "2"!

PS. Вчера разбирался вместе с Alex_prog по поводу этой проблемы.
 

BRat

o_0
PHP:
function abc() {
require_once 'test.php';
}
test.php :
PHP:
<?php
$a = 1; 
$b = 2; 

function Sum() 
{ 
   global $a, $b; 

   $b = $a + $b; 
}  

Sum(); 
echo $b;
?>
надеюсь вопросов не будет почему вышеприведенный скрипт выведет "2"
 
Сверху