Type
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
Prüft auf Objekt
Prüft auf Array
Prüft ob übergebene Wert ein einfacher Typ (Integer, String, .
Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen
Diese Methode ist ein Wrapper für is_array und liefert FALSE wenn es kein Array ist und true bei einem Array zurück.
Diese Methode ist ein Wrapper für \is_bool.
Prüft Zeichenkette
Prüft Float
Diese Methode prüft ob der übergebene Wert vom Typ integer ist.
Diese Methode gibt bei Array, Object und Ressourcen true, ansonsten false zurück.
Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.
Diese Methode prüft ob der Wert vom Typ Null ist.
Diese Methode prüft ob der Wert nicht vom Typ Null ist.
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.
Ü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.
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.
Array prüfen
Boolean überprüfen
Float überprüfen
Auf Nummer prüfen
Zeichenketten überprüfen
Integer überprüfen
Überprüfen
Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.
Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.
Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.
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.
Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.
Labe des Typs
Typ bestimmen
Details
at line 180
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.
at line 200
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.
at line 220
static
checkIfExpectedTypeIsSimple(mixed $value)
Prüft ob übergebene Wert ein einfacher Typ (Integer, String, .
..) ist, ansonsten wird eine Exception geworfen.
at line 245
static
checkNotNull(mixed $value)
Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen
at line 260
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.
at line 271
static boolean
isBoolean(mixed $value)
Diese Methode ist ein Wrapper für \is_bool.
at line 285
static boolean
isString(mixed $value)
Prüft Zeichenkette
Diese Methode prüft ob der übergebene Wert vom Typ php-string ist.
at line 299
static boolean
isFloat(mixed $value)
Prüft Float
Diese Methode prüft ob der übergebene Wert vom Typ float (oder double) ist.
at line 311
static boolean
isInteger(mixed $value)
Diese Methode prüft ob der übergebene Wert vom Typ integer ist.
at line 327
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)
at line 341
static boolean
isSimple(mixed $value)
Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.
at line 355
static boolean
isNull(mixed $value)
Diese Methode prüft ob der Wert vom Typ Null ist.
at line 366
static boolean
isNotNull(mixed $value)
Diese Methode prüft ob der Wert nicht vom Typ Null ist.
at line 380
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.
at line 398
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.
at line 415
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.
at line 447
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();
at line 475
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.
at line 503
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.
at line 522
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.
at line 541
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.
at line 579
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
at line 626
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.
at line 643
static integer
getInteger(mixed $value)
Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.
at line 655
static string
getString(mixed $value)
Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.
at line 667
static float
getFloat(mixed $value)
Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.
at line 693
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'
at line 705
static integer
getType(mixed $value)
Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.
at line 727
static string
getTypeLabel(mixed $value)
Labe des Typs
Dies Funktion gibt eine Zeichenkette, der den entsprechenden Typen der Variable entspricht zurück.
at line 754
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