class Type

Hilfsklasse für Typprüfung

Diese Klasse definiert einen Standard um Typenprüfung für die Basistypen zu ermöglichen. Es ist mit der Klasse möglich schnell und einfach den Typ einer Variable zu prüfen, den Typ umzuwandeln, zu validieren und anzupassen.

Es gibt drei Gruppen von Methoden. Die is* Methoden prüfen ob der Parameter vom entsprechenden Typ ist, die validate* Methoden versuchen den Parameter umzuwandeln, achten dabei jedoch auf Übereinstimmung. So wird z.B. die Zeichenkette "14" über validateInteger in den Integer 14 umgewandelt, die Zeichenkette "14a" wirft allerdings eine TypeException. Die letzte Gruppe der Methoden get* hingegen entspricht den PHP-Typumwandlungen und gibt immer den entsprechendne Type, ohne Exception, zurück.

$value = '14a';
Type::isInteger($value); // false
Type::getInteger($value); // 14
Type::validateInteger($value); // wirft TypeException

Constants

INTERN_MIXED

Unbekannter Typ

INTERN_MIXED_LABEL

Label

INTERN_UNKNOWN

Unbekannter Typ

INTERN_UNKNOWN_LABEL

Label

INTERN_STRING

PHP-Typ Boolean String

INTERN_STRING_LABEL

Label

INTERN_BOOLEAN

PHP-Typ Boolean

INTERN_BOOLEAN_LABEL

Label

INTERN_FLOAT

PHP-Typ FLOAT oder Double

INTERN_FLOAT_LABEL

Label

INTERN_ARRAY

PHP-Typ Array

INTERN_ARRAY_LABEL

Label

INTERN_OBJECT

PHP-Typ Objekt

INTERN_OBJECT_LABEL

Label

INTERN_RESOURCE

PHP-Typ Ressource

INTERN_RESOURCE_LABEL

Label

INTERN_NULL

PHP-Typ Null

INTERN_NULL_LABEL

LABEL

INTERN_INTEGER

PHP-Typ Integer

INTERN_INTEGER_LABEL

Label

Methods

static 
checkIfExpectedTypeIsObject(mixed $object, mixed $className = null)

Prüft auf Objekt

static 
checkIfExpectedTypeIsArray(mixed $array, boolean $simpleFlag = false)

Prüft auf Array

static 
checkIfExpectedTypeIsSimple(mixed $value)

Prüft ob übergebene Wert ein einfacher Typ (Integer, String, .

static 
checkNotNull(mixed $value)

Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen

static boolean
isArray(mixed $value)

Diese Methode ist ein Wrapper für is_array und liefert FALSE wenn es kein Array ist und true bei einem Array zurück.

static boolean
isBoolean(mixed $value)

Diese Methode ist ein Wrapper für \is_bool.

static boolean
isString(mixed $value)

Prüft Zeichenkette

static boolean
isFloat(mixed $value)

Prüft Float

static boolean
isInteger(mixed $value)

Diese Methode prüft ob der übergebene Wert vom Typ integer ist.

static boolean
isComplex(mixed $value)

Diese Methode gibt bei Array, Object und Ressourcen true, ansonsten false zurück.

static boolean
isSimple(mixed $value)

Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.

static boolean
isNull(mixed $value)

Diese Methode prüft ob der Wert vom Typ Null ist.

static boolean
isNotNull(mixed $value)

Diese Methode prüft ob der Wert nicht vom Typ Null ist.

static boolean
isObject(object $object, string $className = null)

Die Funktion überprüft ob es sich bei dem übergebenen Parameter um eine Funktion handelt und - wenn der zweite Parameter angegeben wurde - ob das Objekt vom richtigen Typ ist.

static boolean
isResource(mixed $resource, $type = null)

Überprüft den übergebenen Parameter, ob er eine Resource ist und gibt true oder false zurück. Als optionaler Parameter kann der Type übergeben werden. Z.B. gd für Bilder.

static boolean
isHexadecimal(string $hex)

Diese Methode prüft, ob der übergebene String eine hexadezimalzahl sein kann. Im wesentlichen werden die Zeichen auf 0-9 und a-f geprüft.

static array
validateArray(mixed $value)

Array prüfen

static boolean
validateBoolean(mixed $value)

Boolean überprüfen

static float
validateFloat(mixed $value)

Float überprüfen

static integer|float
validateNumber(mixed $value)

Auf Nummer prüfen

static integer
validateString(mixed $value)

Zeichenketten überprüfen

static integer
validateInteger(mixed $value)

Integer überprüfen

static mixed
validate(mixed $value, string $type)

Überprüfen

static integer
getInteger(mixed $value)

Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.

static string
getString(mixed $value)

Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.

static float
getFloat(mixed $value)

Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.

static boolean
getBoolean(mixed $value)

Die getBoolean() Methode wandelte jeden Parameter in ein true oder false um. Für folgende Werte wird ein true zurückgegeben: "1", "true", "on" and "yes", ansonsten ist das Ergebnis false. Anders als bei der validate-Methode wird keine Exception bei Arrays oder Objekten geworfen.

static integer
getType(mixed $value)

Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.

static string
getTypeLabel(mixed $value)

Labe des Typs

static mixed
determineAndFix(mixed $value)

Typ bestimmen

Details

at line 182
static checkIfExpectedTypeIsObject(mixed $object, mixed $className = null)

Prüft auf Objekt

Prüft ob übergebene Wert ein Object ist, ansonsten wird eine Exception geworfen. Wird der optionale Parameter $className angegeben, so wird geprüft ob das Objekt vom Typ $className ist. Bei der Prüfung ist darauf zu achten, das der gesamte Namespace angegeben wird.

Parameters

mixed $object Objekt
mixed $className Name der erwarteten Klasse

Exceptions

TypeException Kein Objekt

at line 202
static checkIfExpectedTypeIsArray(mixed $array, boolean $simpleFlag = false)

Prüft auf Array

Prüft ob übergebene Wert ein Array ist, ansonsten wird eine Exception geworfen. Ist der Schalter $simpleFlag true, so müssen alle Werte des Arrays einfache Typen sein.

Parameters

mixed $array Testwert
boolean $simpleFlag Prüfung auf einfache Typen

Exceptions

TypeException Kein Array

at line 222
static checkIfExpectedTypeIsSimple(mixed $value)

Prüft ob übergebene Wert ein einfacher Typ (Integer, String, .

..) ist, ansonsten wird eine Exception geworfen.

Parameters

mixed $value Testwert

at line 247
static checkNotNull(mixed $value)

Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen

Parameters

mixed $value Zu testender Wert

Exceptions

NullException Wert ist nicht null

at line 262
static boolean isArray(mixed $value)

Diese Methode ist ein Wrapper für is_array und liefert FALSE wenn es kein Array ist und true bei einem Array zurück.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 273
static boolean isBoolean(mixed $value)

Diese Methode ist ein Wrapper für \is_bool.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 287
static boolean isString(mixed $value)

Prüft Zeichenkette

Diese Methode prüft ob der übergebene Wert vom Typ php-string ist.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 301
static boolean isFloat(mixed $value)

Prüft Float

Diese Methode prüft ob der übergebene Wert vom Typ float (oder double) ist.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 313
static boolean isInteger(mixed $value)

Diese Methode prüft ob der übergebene Wert vom Typ integer ist.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 329
static boolean isComplex(mixed $value)

Diese Methode gibt bei Array, Object und Ressourcen true, ansonsten false zurück.

Dies ist nur eine einfache Schreibweise für !isSimple($value)

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

See also

Type::checkIfExpectedTypeIsSimple

at line 343
static boolean isSimple(mixed $value)

Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

See also

Type::checkIfExpectedTypeIsSimple

at line 357
static boolean isNull(mixed $value)

Diese Methode prüft ob der Wert vom Typ Null ist.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 368
static boolean isNotNull(mixed $value)

Diese Methode prüft ob der Wert nicht vom Typ Null ist.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 382
static boolean isObject(object $object, string $className = null)

Die Funktion überprüft ob es sich bei dem übergebenen Parameter um eine Funktion handelt und - wenn der zweite Parameter angegeben wurde - ob das Objekt vom richtigen Typ ist.

Parameters

object $object Zu überprüfende Variable
string $className Name der Klasse auf die geprüft werden soll

Return Value

boolean true oder false

at line 400
static boolean isResource(mixed $resource, $type = null)

Überprüft den übergebenen Parameter, ob er eine Resource ist und gibt true oder false zurück. Als optionaler Parameter kann der Type übergeben werden. Z.B. gd für Bilder.

Parameters

mixed $resource Zu prüfende Variable
$type string $type Ist der Type der Ressource richtig?

Return Value

boolean true/false

at line 417
static boolean isHexadecimal(string $hex)

Diese Methode prüft, ob der übergebene String eine hexadezimalzahl sein kann. Im wesentlichen werden die Zeichen auf 0-9 und a-f geprüft.

Der Prefix 0x am Anfang kann optinal übergeben werden.

Parameters

string $hex Hexwert

Return Value

boolean Ergebnis

at line 449
static array validateArray(mixed $value)

Array prüfen

Überprüft ein Array und gibt dieses zurück. Wird eine Variable übergeben, die kein Array ist, so wird ein Array mit einem Eintrag zurückgegeben.

Arrays mit einer Zahl als Wert

$value = 'Mein Wert';
$array = Type::validateArray($value);

// array ([0] => 'Mein Wert');

// Arrays mit einem leeren String als einzigen Wert
// werden zu einem leeren Array umgebaut.
$array = array('');
$array = Type::validateArray($array);
// ARRAY ist nun array();

Parameters

mixed $value Wert

Return Value

array Rückgabe

at line 477
static boolean validateBoolean(mixed $value)

Boolean überprüfen

Gibt ein Boolean true für folgende Werte zurück "1", "true", "on" and "yes", ansonsten wird false zurückgegeben. Bei Objekten, Arrays und Ressourcen wird eine TypeException geworfen.

Parameters

mixed $value Zu testender Wert

Return Value

boolean Ergebnis

at line 505
static float validateFloat(mixed $value)

Float überprüfen

Überprüfung ob der übergebene Wert ein Float ist. Wenn der Wert kein Float ist, so wird der Wert zu einem Float konvertiert, aber nur bei einer echten Zahl. Bei Objekten, Arrays und Ressourcen wird eine TypeException geworfen.

$value = '14.8a';
floatval($value); // Ergibt 14.8

$value = '14.8a';
Type::validateFloat($value); // Es wird eine TypeException geworfen.

Parameters

mixed $value Variable

Return Value

float Variable vom Typ int

at line 524
static integer|float validateNumber(mixed $value)

Auf Nummer prüfen

Diese Methode kann als Argument entweder eine Zahl vom Typ Float oder Integer übergeben werden. Je nach Type wird entweder validateInteger oder validateFloat aufgerufen.

Parameters

mixed $value Variable

Return Value

integer|float Variable vom Typ Integer oder Float

at line 543
static integer validateString(mixed $value)

Zeichenketten überprüfen

Überprüfung ob der übergebene Wert ein php-String ist. Standard-PHP Typen werden in ein entsprechenden String umgewandelt. Bei Objekten, Arrays und Ressourcen wird, mit einer Ausnahme, eine TypeException geworfen. Die Ausnahme ist das Objekt \Alvine\Types\String. Hier wird eine Umwandlung in einen einfachen String vorgenommen.

Parameters

mixed $value Zu testender Wert

Return Value

integer Variable vom Typ \string (kein Alvine-String Objekt)

at line 581
static integer validateInteger(mixed $value)

Integer überprüfen

Überprüfung ob der übergebene Wert ein Integer ist. Wenn der Wert kein Integer ist, so wird der Wert zu einem Integer konvertiert, aber nur bei einer echten Zahl. Ist der Wert außerhalb des Wertebereichs von \PHP_INT_MAX, so wird eine OutOfRangeException geworfen. Wird null oder ein leerer String übergeben, so ist das Ergebnis eine TypeException. In der Environment muss die Genauigkeit von floats auf 20 gesetzt sein.

$value = '14a';
intval($value); // Ergibt 14

$value = '14a';
Type::validateInteger($value); // Wirft eine TypeException

$value = '';
Type::validateInteger($value); // Wirft eine TypeException

Parameters

mixed $value Variable

Return Value

integer Variable vom Typ int

Exceptions

OutOfRangeException Wenn der Wertebereich ausserhalb eines Integers ist.
TypeException Wenn der Type nicht sauber in ein Integer umgewandelt werden kann.

at line 628
static mixed validate(mixed $value, string $type)

Überprüfen

Diese Methode überprüft den Wert und den Typ der übergebenen Variable und korrigiert diesen. Als Typ kann Integer, String, Float, Boolean oder Array übergeben werden.

Parameters

mixed $value Wert der Variable
string $type Typ der Variable

Return Value

mixed Variable vom Typ $type

Exceptions

NotCallableException Methode nicht gefunden

at line 645
static integer getInteger(mixed $value)

Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.

Parameters

mixed $value Wert

Return Value

integer Ergebnis

at line 657
static string getString(mixed $value)

Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.

Parameters

mixed $value Wert

Return Value

string Ergebnis

at line 669
static float getFloat(mixed $value)

Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.

Parameters

mixed $value Wert

Return Value

float Ergebnis

at line 695
static boolean getBoolean(mixed $value)

Die getBoolean() Methode wandelte jeden Parameter in ein true oder false um. Für folgende Werte wird ein true zurückgegeben: "1", "true", "on" and "yes", ansonsten ist das Ergebnis false. Anders als bei der validate-Methode wird keine Exception bei Arrays oder Objekten geworfen.

Das Verhalten kann somit nicht direkt für Prüfungen verwendet werden

$value = 'test';
if($value) echo $value;  // Prüfung ergibt true und echo wird ausgeführt
if(Type::getBoolean($value)) echo $value // Prüfung ergibt false und echo wird nicht ausgeführt
// Ergebe die false liefern
// '',null, 0,'off','no','false','meinstring'
// Ergebe die true liefern
// '1', 1,'on','yes'

Parameters

mixed $value Wert

Return Value

boolean true oder false

at line 707
static integer getType(mixed $value)

Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.

Parameters

mixed $value Zu testender Wert

Return Value

integer Typ der Variable

at line 729
static string getTypeLabel(mixed $value)

Labe des Typs

Dies Funktion gibt eine Zeichenkette, der den entsprechenden Typen der Variable entspricht zurück.

Parameters

mixed $value Zu testender Wert

Return Value

string Typ der Variable

at line 756
static mixed determineAndFix(mixed $value)

Typ bestimmen

Diese Methode bestimmt den möglichen Typ eines Wertes und gibt einen Wert von diesem Typ zurück

Parameters

mixed $value zu prüfender Wert

Return Value

mixed Wert