Hat jemand eine T_PAAMAYIM_NEKUDOTAYIM
?
php
syntax-error
runtime-error
Peter Turner
quelle
quelle
u
. Es sollte seinT_PAAMAYIM_NEKUDOTAYIM
. (PAAMAYIM
= "zweimal",NEKUDOTAYIM
=:
= "נקודותיים")Antworten:
Es ist der Doppelpunkt-Operator
::
(siehe Liste der Parser-Token ).quelle
var_dump(empty(TRUE))
foreach($cats as cat
einzig akzeptables Zeichen nach demcat
für eine syntaktisch gültige Anweisung haben, a ist::
, da Sie damit eine statische Eigenschaft einer aufgerufenen Klasse angeben könnencat
. Wenn in dercat
Klasse beispielsweise ein öffentliches statisches Mitglied aufgerufen wird$mouse
,foreach($cats as cat::$mouse)
ist dies vollkommen gültigphp
, aber eine Anweisung mit etwas anderem als::
demcat
wäre ein Syntaxfehler. Wenn Sie$mouse
keine deklarierte Eigenschaftcat
wären, würden Sie einen schwerwiegenden Fehler erhalten, aber immer noch keinen Syntaxfehler.Google wirkt Wunder.
Es ist hebräisch für "Doppelpunkt".
quelle
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 :-)quelle
Aus Wikipedia :
Aus der offiziellen PHP-Dokumentation :
quelle
Dies kommt auch, wenn Sie eine Konstante in PHP auf die Funktion empty () anwenden:
Das war mein Fall. Ich habe es damit gelöst:
quelle
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 .quelle
Dies kann bei foreachs passieren, wenn:
anstatt
quelle
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
self
anstelle von$this
:self::$defaults
funktioniert gut.quelle
$this
, oder was passiert ist Sie ?