Type
in package
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
Tags
Table of Contents
Constants
- INTERN_ARRAY = 16
- PHP-Typ Array
- INTERN_ARRAY_LABEL = 'array'
- Label
- INTERN_BOOLEAN = 4
- PHP-Typ Boolean
- INTERN_BOOLEAN_LABEL = 'boolean'
- Label
- INTERN_FLOAT = 8
- PHP-Typ FLOAT oder Double
- INTERN_FLOAT_LABEL = 'float'
- Label
- INTERN_INTEGER = 256
- PHP-Typ Integer
- INTERN_INTEGER_LABEL = 'integer'
- Label
- INTERN_MIXED = 0
- Unbekannter Typ
- INTERN_MIXED_LABEL = 'mixed'
- Label
- INTERN_NULL = 128
- PHP-Typ Null
- INTERN_NULL_LABEL = 'null'
- LABEL
- INTERN_OBJECT = 32
- PHP-Typ Objekt
- INTERN_OBJECT_LABEL = 'object'
- Label
- INTERN_RESOURCE = 64
- PHP-Typ Ressource
- INTERN_RESOURCE_LABEL = 'resource'
- Label
- INTERN_STRING = 2
- PHP-Typ Boolean String
- INTERN_STRING_LABEL = 'string'
- Label
- INTERN_UNKNOWN = 1
- Unbekannter Typ
- INTERN_UNKNOWN_LABEL = 'unknown'
- Label
Methods
- checkIfExpectedTypeIsArray() : mixed
- Prüft auf Array
- checkIfExpectedTypeIsObject() : mixed
- Prüft auf Objekt
- checkIfExpectedTypeIsSimple() : mixed
- Prüft ob übergebene Wert ein einfacher Typ (Integer, String, ...) ist, ansonsten wird eine Exception geworfen.
- checkNotNull() : mixed
- Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen
- determineAndFix() : mixed
- Typ bestimmen
- getBoolean() : boolean
- 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.
- getFloat() : float
- Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.
- getInteger() : integer
- Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.
- getString() : string
- Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.
- getType() : integer
- Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.
- getTypeLabel() : string
- Labe des Typs
- isArray() : boolean
- Diese Methode ist ein Wrapper für is_array und liefert FALSE wenn es kein Array ist und true bei einem Array zurück.
- isBoolean() : boolean
- Diese Methode ist ein Wrapper für \is_bool.
- isComplex() : boolean
- Diese Methode gibt bei Array, Object und Ressourcen true, ansonsten false zurück.
- isFloat() : boolean
- Prüft Float
- isHexadecimal() : boolean
- 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.
- isInteger() : boolean
- Diese Methode prüft ob der übergebene Wert vom Typ integer ist.
- isNotNull() : boolean
- Diese Methode prüft ob der Wert nicht vom Typ Null ist.
- isNull() : boolean
- Diese Methode prüft ob der Wert vom Typ Null ist.
- isObject() : boolean
- 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.
- isResource() : boolean
- Ü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.
- isSimple() : boolean
- Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.
- isString() : boolean
- Prüft Zeichenkette
- validate() : mixed
- Überprüfen
- validateArray() : array
- Array prüfen
- validateBoolean() : boolean
- Boolean überprüfen
- validateFloat() : float
- Float überprüfen
- validateInteger() : integer
- Integer überprüfen
- validateNumber() : integer|float
- Auf Nummer prüfen
- validateString() : integer
- Zeichenketten überprüfen
- __construct() : mixed
- Es kann kein Objekt vom Type Type erstellt werden.
Constants
INTERN_ARRAY
PHP-Typ Array
public
mixed
INTERN_ARRAY
= 16
INTERN_ARRAY_LABEL
Label
public
mixed
INTERN_ARRAY_LABEL
= 'array'
INTERN_BOOLEAN
PHP-Typ Boolean
public
mixed
INTERN_BOOLEAN
= 4
INTERN_BOOLEAN_LABEL
Label
public
mixed
INTERN_BOOLEAN_LABEL
= 'boolean'
INTERN_FLOAT
PHP-Typ FLOAT oder Double
public
mixed
INTERN_FLOAT
= 8
INTERN_FLOAT_LABEL
Label
public
mixed
INTERN_FLOAT_LABEL
= 'float'
INTERN_INTEGER
PHP-Typ Integer
public
mixed
INTERN_INTEGER
= 256
INTERN_INTEGER_LABEL
Label
public
mixed
INTERN_INTEGER_LABEL
= 'integer'
INTERN_MIXED
Unbekannter Typ
public
mixed
INTERN_MIXED
= 0
INTERN_MIXED_LABEL
Label
public
mixed
INTERN_MIXED_LABEL
= 'mixed'
INTERN_NULL
PHP-Typ Null
public
mixed
INTERN_NULL
= 128
INTERN_NULL_LABEL
LABEL
public
mixed
INTERN_NULL_LABEL
= 'null'
INTERN_OBJECT
PHP-Typ Objekt
public
mixed
INTERN_OBJECT
= 32
INTERN_OBJECT_LABEL
Label
public
mixed
INTERN_OBJECT_LABEL
= 'object'
INTERN_RESOURCE
PHP-Typ Ressource
public
mixed
INTERN_RESOURCE
= 64
INTERN_RESOURCE_LABEL
Label
public
mixed
INTERN_RESOURCE_LABEL
= 'resource'
INTERN_STRING
PHP-Typ Boolean String
public
mixed
INTERN_STRING
= 2
INTERN_STRING_LABEL
Label
public
mixed
INTERN_STRING_LABEL
= 'string'
INTERN_UNKNOWN
Unbekannter Typ
public
mixed
INTERN_UNKNOWN
= 1
INTERN_UNKNOWN_LABEL
Label
public
mixed
INTERN_UNKNOWN_LABEL
= 'unknown'
Methods
checkIfExpectedTypeIsArray()
Prüft auf Array
public
static checkIfExpectedTypeIsArray(mixed $array[, bool $simpleFlag = false ]) : mixed
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
- $array : mixed
-
Testwert
- $simpleFlag : bool = false
-
Prüfung auf einfache Typen
Tags
checkIfExpectedTypeIsObject()
Prüft auf Objekt
public
static checkIfExpectedTypeIsObject(mixed $object[, mixed $className = null ]) : mixed
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
- $object : mixed
-
Objekt
- $className : mixed = null
-
Name der erwarteten Klasse
Tags
checkIfExpectedTypeIsSimple()
Prüft ob übergebene Wert ein einfacher Typ (Integer, String, ...) ist, ansonsten wird eine Exception geworfen.
public
static checkIfExpectedTypeIsSimple(mixed $value) : mixed
Parameters
- $value : mixed
-
Testwert
Tags
checkNotNull()
Diese Methode prüft ob der übergebene Wert nicht null ist. Ist der Wert null, so wird eine nullException geworfen
public
static checkNotNull(mixed $value) : mixed
Parameters
- $value : mixed
-
Zu testender Wert
Tags
determineAndFix()
Typ bestimmen
public
static determineAndFix(mixed $value) : mixed
Diese Methode bestimmt den möglichen Typ eines Wertes und gibt einen Wert von diesem Typ zurück
Parameters
- $value : mixed
-
zu prüfender Wert
Return values
mixed —Wert
getBoolean()
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.
public
static getBoolean(mixed $value) : boolean
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
- $value : mixed
-
Wert
Return values
boolean —true oder false
getFloat()
Die getFloat() Methode wandelte jeden Parameter in einen Float um. Das Verhalten ist mit \floatval identisch.
public
static getFloat(mixed $value) : float
Parameters
- $value : mixed
-
Wert
Return values
float —Ergebnis
getInteger()
Die getInteger() Methode wandelte jeden Parameter in einen Integer um. Das Verhalten ist mit \intval identisch.
public
static getInteger(mixed $value) : integer
Parameters
- $value : mixed
-
Wert
Return values
integer —Ergebnis
getString()
Die getString() Methode wandelte jeden Parameter in einen String um. Das Verhalten ist mit \strval identisch.
public
static getString(mixed $value) : string
Parameters
- $value : mixed
-
Wert
Return values
string —Ergebnis
getType()
Dies Funktion gibt einen Zahlenwert, der den entsprechenden Typen der Variable entspricht zurück.
public
static getType(mixed $value) : integer
Parameters
- $value : mixed
-
Zu testender Wert
Return values
integer —Typ der Variable
getTypeLabel()
Labe des Typs
public
static getTypeLabel(mixed $value) : string
Dies Funktion gibt eine Zeichenkette, der den entsprechenden Typen der Variable entspricht zurück.
Parameters
- $value : mixed
-
Zu testender Wert
Return values
string —Typ der Variable
isArray()
Diese Methode ist ein Wrapper für is_array und liefert FALSE wenn es kein Array ist und true bei einem Array zurück.
public
static isArray(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isBoolean()
Diese Methode ist ein Wrapper für \is_bool.
public
static isBoolean(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isComplex()
Diese Methode gibt bei Array, Object und Ressourcen true, ansonsten false zurück.
public
static isComplex(mixed $value) : boolean
Dies ist nur eine einfache Schreibweise für !isSimple($value)
Parameters
- $value : mixed
-
Zu testender Wert
Tags
Return values
boolean —Ergebnis
isFloat()
Prüft Float
public
static isFloat(mixed $value) : boolean
Diese Methode prüft ob der übergebene Wert vom Typ float (oder double) ist.
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isHexadecimal()
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.
public
static isHexadecimal(string $hex) : boolean
Der Prefix 0x am Anfang kann optinal übergeben werden.
Parameters
- $hex : string
-
Hexwert
Return values
boolean —Ergebnis
isInteger()
Diese Methode prüft ob der übergebene Wert vom Typ integer ist.
public
static isInteger(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isNotNull()
Diese Methode prüft ob der Wert nicht vom Typ Null ist.
public
static isNotNull(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isNull()
Diese Methode prüft ob der Wert vom Typ Null ist.
public
static isNull(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
isObject()
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.
public
static isObject(object $object[, string $className = null ]) : boolean
Parameters
- $object : object
-
Zu überprüfende Variable
- $className : string = null
-
Name der Klasse auf die geprüft werden soll
Return values
boolean —true oder false
isResource()
Ü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.
public
static isResource(mixed $resource[, string $type = null ]) : boolean
Parameters
- $resource : mixed
-
Zu prüfende Variable
- $type : string = null
-
Ist der Type der Ressource richtig?
Return values
boolean —true/false
isSimple()
Diese Methode gibt bei Array, Object und Ressourcen false, ansonsten true zurück.
public
static isSimple(mixed $value) : boolean
Parameters
- $value : mixed
-
Zu testender Wert
Tags
Return values
boolean —Ergebnis
isString()
Prüft Zeichenkette
public
static isString(mixed $value) : boolean
Diese Methode prüft ob der übergebene Wert vom Typ php-string ist.
Parameters
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
validate()
Überprüfen
public
static validate(mixed $value, string $type) : mixed
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
- $value : mixed
-
Wert der Variable
- $type : string
-
Typ der Variable
Tags
Return values
mixed —Variable vom Typ $type
validateArray()
Array prüfen
public
static validateArray(mixed $value) : array
Ü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
- $value : mixed
-
Wert
Return values
array —Rückgabe
validateBoolean()
Boolean überprüfen
public
static validateBoolean(mixed $value) : boolean
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
- $value : mixed
-
Zu testender Wert
Return values
boolean —Ergebnis
validateFloat()
Float überprüfen
public
static validateFloat(mixed $value) : float
Ü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
- $value : mixed
-
Variable
Tags
Return values
float —Variable vom Typ int
validateInteger()
Integer überprüfen
public
static validateInteger(mixed $value) : integer
Ü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
- $value : mixed
-
Variable
Tags
Return values
integer —Variable vom Typ int
validateNumber()
Auf Nummer prüfen
public
static validateNumber(mixed $value) : integer|float
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
- $value : mixed
-
Variable
Return values
integer|float —Variable vom Typ Integer oder Float
validateString()
Zeichenketten überprüfen
public
static validateString(mixed $value) : integer
Ü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
- $value : mixed
-
Zu testender Wert
Return values
integer —Variable vom Typ \string (kein Alvine-String Objekt)
__construct()
Es kann kein Objekt vom Type Type erstellt werden.
private
__construct() : mixed