zend-framework zend - Was bedeuten zwei Doppelpunkte in PHP?




download vs (4)

Der Scope Resolution Operator (: :) Doppelter Doppelpunkt ist ein Token, das den Zugriff auf statische , konstante und überschriebene Eigenschaften oder Methoden einer Klasse ermöglicht.

<?php
class A {

public static $B = '1'; # Static class variable.

const B = '2'; # Class constant.

public static function B() { # Static class function.
    return '3';
}

}

echo A::$B . A::B . A::B(); # Outputs: 123
?>

Ich weiß nicht, was es macht, wenn wir diese Situation haben:

Foo::Bar

Es sieht wie ein Pfad aus.


Der Operator :: ist der Operator für die Bereichsauflösung . Es wird verwendet, um von außerhalb der Klasse auf Klassenkonstanten oder statische Eigenschaften und Methoden zuzugreifen:

ClassName::CONSTANT_VALUE
ClassName::staticMethod()

Oder innerhalb einer Klassenmethode, um mit self und parent dieselbe oder eine Elternklasse zu verweisen:

self::CONSTANT_VALUE
self::staticMethod()
parent::CONSTANT_VALUE
parent::staticMethod()


Hinweis: Undefinierte Variable

Tritt auf, wenn Sie versuchen, eine Variable zu verwenden, die zuvor nicht definiert wurde.

Ein typisches Beispiel wäre

foreach ($items as $item) {
    // do something with item
    $counter++;
}

Wenn Sie $counter nicht zuvor definiert haben, löst der obige Code die Benachrichtigung aus.

Der richtige Weg wäre, die Variable vor ihrer Verwendung zu setzen, auch wenn es nur eine leere Zeichenfolge ist

$counter = 0;
foreach ($items as $item) {
    // do something with item
    $counter++;
}

Verwandte Fragen:





php zend-framework