5 Stimmen

Globale Variable funktioniert nicht in php

Ich habe Probleme bei der Verwendung von globalen Variablen. Ich habe eine $var im globalen Bereich definiert und versuche, sie in Funktionen zu verwenden, aber dort ist sie nicht zugänglich. Bitte sehen Sie sich den unten stehenden Code zur besseren Erklärung an:

Datei a.php:

``

Ein kurzer Überblick darüber, wie diese Funktion aufgerufen wird.

Datei b.php:

`

Das obige 'b.php' wird wie folgt aufgerufen:

$method = new ReflectionMethod($this, $method);
$method->invoke();

Die gewünschte Ausgabe ist 'testing', aber die erhalten Ausgabe ist NULL.

Vielen Dank im Voraus für jede Hilfe.

` ``

4voto

Sie haben vergessen, Ihre Funktion aufzurufen und auch das protected Schlüsselwort entfernt.

Versuchen Sie es auf diese Weise

``

Derselbe Code, aber unter Verwendung von $GLOBALS, liefert Ihnen denselben Output.

``

1voto

Anshad Vattapoyil Punkte 22935

Diese geschützte Funktion kann nicht auf die Variable zugreifen. Verwenden Sie sie also, indem Sie protected entfernen.

0voto

Johan Punkte 13

Geschützte Funktionen müssen in einer Klasse wie dieser sein:

 Klasse SomeClass erweitert SomeotherClass {

   public static $tmp = "testing";

   protected function testFunction() {

      echo self::$tmp;

   }
}

0voto

Cyril Punkte 1

Ich hatte dasselbe Problem hier. Da $GLOBALS innerhalb einer Funktion sichtbar ist, habe ich folgendes verwendet:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X