Ich benutze Netbeans 8 neuesten Build für die Bearbeitung von PHP 7 Code (weil die Netbeans 8.1 immer noch nicht unterstützt PHP 7), aber Netbeans IDE sagte, dass ich etwas falsch machen. Was ist die richtige Methode dafür:PHP7 definieren statische Variable für statische Klasse in Netbeans 8
<?php
class helloc {
public static $first = 1;
}
class mainc {
public static $another = NULL;
public function example() {
self::$another = new helloc();
self::$another::$first = 2;
echo self::$another::$first;
}
}
$n = new mainc();
$n->example();
?>
NetBeans IDE Dev (201.605.100.002) Erstellen Sie mit PHP7 ERROR sagte für diese Linie:
self :: weitere $ :: $ first = 2;
unerwartet ::
Auch diese Zeile zu Fehler hatte:
Selbst echo :: andere :: first $ $; unerwartet ::
Was ist die richtige Verwendung dafür? Wenn ich diesen Code starte, funktioniert es ohne Fehler. Es ist in Ordnung? Oder Netbeans IDE Bug?
Wie kann ich die Variable $ another deklarieren? NULL ist in Ordnung? Oder andere Wege? Ich möchte $ another als statische "Helloc" -Klasse in diesem Beispiel deklarieren. Ich möchte auf Variable von dieser statischen Klasse zugreifen. Ich weiß, ich kann ein Get/Set-Funktionen erklären und es ist wirklich schöner, aber es ist eine andere Frage, was ist besser.
Ich möchte nur einen richtigen PHP7-Code erstellen.
Ich verstehe nicht ... Sie versuchen, auf eine statische Variable zuzugreifen, die in einer anderen statischen Variablen referenziert wird. Das macht keinen Sinn ! Sie müssen nicht '$ self :: $ another :: $ first', da' $ first' statisch ist, ist 'helloc :: $ first' ausreichend. Sie haben wahrscheinlich ein konzeptionelles Problem, das Sie lösen sollten, bevor Sie mit der Programmierung fortfahren;). PHP7 und Netbeans haben damit nichts zu tun. – Unex
Aber das funktioniert auch, was ich als Beispiel beigefügt habe. Ich bin Neuling in statischen Objekten + PHP :-) Also, was ist die Definition der statischen Klasse? Klasse mit mindestens 1 statischen Variable? Oder eine Klasse, was definiert als statische Variable? Wie statisch $ abc = NULL; dann self: $ abc = new xclass(); ? –
Die Syntax, die Sie verwenden, ist gültige PHP 7 (aber nicht PHP 5) -Syntax. Es ist jedoch sehr ungewöhnlich (also keine Überraschung, Netbeans erkennt es nicht) und sehr wahrscheinlich nicht, was Sie tun möchten. Im Allgemeinen wird von statischen Variablen abgeraten. – NikiC