# Identical

`Zend_Validate_Identical` erlaubt es zu prüfen ob ein angegebener Wert mit einem angegebenen Vergleichswert identisch ist.

## Grundsätzliche Verwendung

Um zu prüfen ob zwei Werte identisch sind muss man den originalen Wert als Vergleichswert setzen. Siehe das folgende Beispiel welches zwei Strings vergleicht.

    $valid = new Zend_Validate_Identical('original');
    if ($valid->isValid($value) {
        return true;
    }

Die Prüfung wird nur dann `TRUE` zurückgeben wenn beide Werte 100% identisch sind. In unserem Beispiel wenn `$value` 'original' ist.

Man kann den gewünschten Token auch im Nachhinein durch Verwendung der Methode `setToken()` setzen und mit `getToken()` den aktuell gesetzten Token erhalten.

## Identische Objekte

Natürlich kann `Zend_Validate_Identical` nicht nur Strings prüfen, sondern jeden Variablentyp wie Boolean, Integer, Float, Array oder sogar Objekte. Wie bereits notiert müssen Vergleichswert und Wert identisch sein.

    $valid = new Zend_Validate_Identical(123);
    if ($valid->isValid($input)) {
        // Der Wert scheint gültig zu sein
    } else {
        // Der Wert ist ungültig
    }

### Vergleich des Typs

Man sollte darauf acht geben das der Typ einer Variable für die Prüfung verwendet wird. Das bedeutet das der String '3' nicht identisch ist mit dem Integerwert 3.

Das ist auch der Fall für Form Elemente. Sie sind Objekte oder Arrays. Deshalb kann man nicht einfach ein Textfeld welches ein Passwort enthält mit einem textuellen Passwort aus einer anderen Quelle vergleichen. Das Element selbst ist als Array angegeben welches auch zusätzliche Informationen enthält.

## Konfiguration

Wie alle anderen Prüfungen unterstützt `Zend_Validate_Identical` auch die Verwendung von Konfigurationseinstellungen als Eingabe Parameter. Das bedeutet das man den Prüfer mit einem `Zend_Config` Objekt konfigurieren kann.

Aber das führt zu einem weiteren Fall den man berücksichtigen muss. Wenn man ein Array als Vergleichswert verwendet, dann sollte man dieses in einen 'token' Schlüssel einhüllen wenn dieses nur ein Element enthält.

    $valid = new Zend_Validate_Identical(array('token' => 123));
    if ($valid->isValid($input)) {
        // Der Wert scheint gültig zu sein
    } else {
        // Der Wert ist ungültig
    }

Das oben stehende Beispiel prüft den Integerwert 123. Der Grund für diesen speziellen Fall ist, dass man den Token der verwendet werden soll, durch Angabe des 'token' Schlüssels, konfigurieren kann.

Wenn der eigene Vergleichswert nur ein Element enthält, und dieses Element 'token' heißt dann muss man dieses, wie im oben stehenden Beispiel gezeigt, einhüllen.

    $valid = new Zend_Validate_Identical(array('token' => array('token' => 123)));
    if ($valid->isValid($input)) {
        // Der Wert scheint gültig zu sein
    } else {
        // Der Wert ist ungültig
    }