Zum Inhalt springen

global in PHP-Anwendungen funktioniert nicht

Erstellt am 26. September 2007 · Noch keine Antworten

Tags: Frage

h3net ·

Hi,
ich habe eine Page in Typo3 mit einem PHP-Skript. dort wird nichts anderes gemacht als mit "require_once" eine Datei aus dem Fileadmin aufgerufen.

<?

class xxx {
    
    var $config;
        
    function xxx() {
        
        global $system;
        
        echo "TEST" ;
        
        print_r ( $system ) ;
        
        echo "TEST2" ;

        $this->config = $system;
        
        if( $this->config["DB_Connect"] == TRUE ) $this->class_new( "db" );
        
    }
    
    
    function class_new ( $phpklassen ) {
        
        global $system;
        
        $klassen = explode( ",", $phpklassen );
        
        if( is_array( $klassen ) ) {
            
            foreach( $klassen as $klasse ) {
                
                if( !is_object( $this->$klasse ) ) {
                    
                    include_once($this->config['class_dir'] . "/class.".$klasse.".php");
                       
                       $this->$klasse = new $klasse;
                      
                   }
               }
          }
    }
    
print_r ( $system ) ;
$xxx = new xxx;
$xxx->class_new( 'xxxsmarty' );

?>

Nun müsste mir der Array $system eigendlich 2mal ausgeprintet werden. Er wird es aber nur einmal und zwar vor dem Wort TEST. Wieso funktioniert der Befehl "global $system" nicht. In anderen php-Skripten die nicht in Typo3 eingebunden sind, funktioniert dieser Befehl ohne Probleme.