Hat jemand eine T_PAAMAYIM_NEKUDOTAYIM?
u. Es sollte sein T_PAAMAYIM_NEKUDOTAYIM. ( PAAMAYIM= "zweimal", NEKUDOTAYIM= := "נקודותיים")
Hat jemand eine T_PAAMAYIM_NEKUDOTAYIM?
u. Es sollte sein T_PAAMAYIM_NEKUDOTAYIM. ( PAAMAYIM= "zweimal", NEKUDOTAYIM= := "נקודותיים")
Antworten:
Es ist der Doppelpunkt-Operator ::(siehe Liste der Parser-Token ).
var_dump(empty(TRUE))
foreach($cats as cateinzig akzeptables Zeichen nach dem catfür eine syntaktisch gültige Anweisung haben, a ist ::, da Sie damit eine statische Eigenschaft einer aufgerufenen Klasse angeben können cat. Wenn in der catKlasse beispielsweise ein öffentliches statisches Mitglied aufgerufen wird $mouse, foreach($cats as cat::$mouse)ist dies vollkommen gültig php, aber eine Anweisung mit etwas anderem als ::dem catwäre ein Syntaxfehler. Wenn Sie $mousekeine deklarierte Eigenschaft catwären, würden Sie einen schwerwiegenden Fehler erhalten, aber immer noch keinen Syntaxfehler.
Google wirkt Wunder.
Es ist hebräisch für "Doppelpunkt".
Es ist ein Name für den ::Operator in PHP. Es bedeutet wörtlich "Doppelpunkt". Aus irgendeinem Grund nannten sie es auf Hebräisch. Überprüfen Sie Ihre Codesyntax und geben Sie ::gegebenenfalls ein :-)
Aus Wikipedia :
In PHP wird der Operator für die Bereichsauflösung auch Paamayim Nekudotayim (hebräisch: פעמיים נקודתיים) genannt, was auf Hebräisch „Doppelpunkt“ bedeutet.
Der Name "Paamayim Nekudotayim" wurde in der von Israel entwickelten Zend Engine 0.5 eingeführt, die in PHP 3 verwendet wird. Obwohl er für viele Entwickler, die kein Hebräisch sprechen, verwirrend war, wird er in PHP 5 immer noch verwendet, wie in dieser Beispielfehlermeldung ::
$ php -r :: Analysefehler: Syntaxfehler, unerwartetes T_PAAMAYIM_NEKUDOTAYIM
Ab PHP 5.4 enthalten Fehlermeldungen bezüglich des Bereichsauflösungsoperators immer noch diesen Namen, haben jedoch seine Bedeutung etwas klargestellt:
$ php -r :: Analysefehler: Syntaxfehler, unerwartetes '::' (T_PAAMAYIM_NEKUDOTAYIM)
Aus der offiziellen PHP-Dokumentation :
Der Scope Resolution Operator (auch Paamayim Nekudotayim genannt) oder einfacher gesagt der Doppelpunkt ist ein Token, das den Zugriff auf statische, konstante und überschriebene Eigenschaften oder Methoden einer Klasse ermöglicht.
Verwenden Sie den Namen der Klasse, wenn Sie von außerhalb der Klassendefinition auf diese Elemente verweisen.
Ab PHP 5.3.0 ist es möglich, die Klasse mithilfe einer Variablen zu referenzieren. Der Wert der Variablen kann kein Schlüsselwort sein (z. B. self, parent und static).
Paamayim Nekudotayim scheint zunächst eine seltsame Wahl für die Benennung eines Doppelpunkts zu sein. Beim Schreiben der Zend Engine 0.5 (die PHP 3 unterstützt) hat das Zend-Team jedoch beschlossen, sie so zu nennen. Es bedeutet eigentlich Doppelpunkt - auf Hebräisch!
Dies kommt auch, wenn Sie eine Konstante in PHP auf die Funktion empty () anwenden:
if (!empty(SOME_CONSTANT)) {
}
Das war mein Fall. Ich habe es damit gelöst:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
Ich kenne Hebräisch ziemlich gut. Um den Namen "Paamayim Nekudotayim" für Sie zu verdeutlichen, lautet die umschriebene Bedeutung "Doppelpunkt", aber wörtlich übersetzt:
::"zwei Mal, zwei Punkte" oder mehr allgemein bekannt als Scope Resolution Operator .Für mich geschah dies innerhalb einer Klassenfunktion.
In PHP 5.3 und höher $this::$defaults funktionierte gut; Als ich den Code in einen Server ausgetauscht habe, der aus irgendeinem Grund eine niedrigere Versionsnummer hatte, wurde dieser Fehler ausgelöst.
In meinem Fall bestand die Lösung darin, das Schlüsselwort selfanstelle von $this:
self::$defaults funktioniert gut.
$this, oder was passiert ist Sie ?