2012-03-23 6 views
1

У меня есть 2 php-файла. Я не могу получить глобальную переменную B от статического Метод А в:включая php-файл Из метода статического класса

A.php

class c_A 
    { public static function f_A() 
     { include_once("B.php") ; 
     print f_B() ; 
     } 
    } 
c_A::f_A(); // only prints "B : " 

B.php

$gvs = "global variable from B" ; 

function f_B() 
    { return "B : " . $GLOBALS[ "gvs" ] ; 
    } 
+0

Как вы «не», чтобы сделать это? Какие ошибки вы получаете? –

+0

ошибок нет ... но я получаю только «B:» для печати ... должен быть «B: глобальная переменная от B» – dsdsdsdsd

+0

Вы пытались включить отчет об ошибке? 'error_reporting (E_ALL);' вверху обеих страниц? –

ответ

1

$GLOBALS[ "gvs" ] пуст, потому что вы называете B.php внутри функции , Так что переменная $gvs не объявляется глобальной переменной. Если включить B.php вне класса на A.php вы получите результат:

A.php

include_once("B.php") ; 
class c_A 
    { public static function f_A() 
     { 
     print f_B() ; 
     } 
    } 
c_A::f_A(); // will prints "B : global variable from B"