2012-03-23 17 views
1

Ich habe 2 PHP-Dateien. Ich bin nicht in der Lage B globale Variable von A statische Methode zu erhalten:einschließlich PHP-Datei Von einer statischen Klassenmethode

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

Wie geht es Ihnen „nicht in der Lage“, um es zu tun? Welche Art von Fehlern bekommen Sie? –

+0

keine Fehler ... aber ich bekomme nur "B:" zum Ausdrucken ... sollte "B: globale Variable von B" sein – dsdsdsdsd

+0

Haben Sie versucht, den Fehlerbericht zu aktivieren? 'error_reporting (E_ALL);' oben auf beiden Seiten? –

Antwort

1

$GLOBALS[ "gvs" ] ist leer, weil Sie B.php innerhalb Funktion aufrufen . So $gvs Variable deklariert nicht als globale Variable. Wenn Sie B.php außerhalb des Unterrichts an A.php umfassen erhalten Sie führen:

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" 
Verwandte Themen