PHP - Unerwartete Global, erwartet String in der Klasse
In meiner Klasse (Das ist eigentlich ein CakePHP-model) ich versuche einfach eine variable und dann greifen Sie von innerhalb einer Funktion, aber ich bekomme die folgende Fehlermeldung:
Parse error: syntax error, unexpected T_GLOBAL, expecting T_FUNCTION in /path/to/file/file.php on line 120
Linie 120 ab meine Datei ist wie folgt:
global $accessid = 'accessid';
global $secret = "secret";
global $b = 0;
global $m = 0;
function generateCredentials() {
global $accessid;
return $accessid;
}
Irgendeine Idee, wohin ich gehe falsch gemacht?
Danke!
- Ist dies innerhalb einer
class { }
definition? - Es ist in der Tat in einer Klasse.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Schätze, dass dies innerhalb einer Klasse definition wie:
Können Sie nicht verwenden Sie dieses Schlüsselwort gibt. Den nur keywords, die Sie kann vor der Klasse Eigenschaften mit der Sichtbarkeit von Deklarationen
var
,public
,protected
undprivate
. Klasse Eigenschaften sind immer Eigenschaften der Klasse, Sie sind definiert, Sie können nicht auf Globale Variablen.Wenn Sie darauf bestehen, kann man Sie aus
global
innerhalb einer Funktion, und legen Sie die Eigenschaften:Dies ist alles sehr hässlich, obwohl, vor allem, da Kuchen gibt Ihnen bessere Werkzeuge für den Umgang mit diesen Dingen, wie die
Configure
Klasse registrieren Werte weltweit.Oder Sie wahrscheinlich wollen einfach nur, einfach Klasse, Eigenschaften:
Es ist nicht ganz klar aus deiner Frage, was der Kontext ist.
Freien code (Wenn dieser code freistehend)
Sie nicht die
global
- Schlüsselwort zu definieren globals. Nur deklarieren Sie in die Globale Reichweite.Schüler (Wenn der code gefunden ist, innerhalb einer Klassendefinition)
Wenn Sie wollen in der Lage sein, um Zugriff auf Globale Variablen innerhalb einer Klasse:
Oder wenn Sie möchten, dass die Schüler, nicht globals:
Beachten Sie, dass Sie angeben müssen die Sichtbarkeit im letzteren Beispiel. Werfen Sie einen Blick auf das Handbuch.
public $accessid = 'accessid';
. Bitte Lesen Sie die Anleitung. Ich habe diese Informationen für meine Antwort.Gibt es keine
global
nur innerhalb von Klassen/Funktionen.In PHP-Konstanten sind global, Beispiel:
global
verwendet, die in einer Klasse definition.Ich würde vorschlagen, diese