Documentation

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
category

Framework

author

schukai GmbH [email protected]

license

http://alvine.io/license/ Licence

link

Alvine

since
20110917

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
throws
TypeException

Kein Array

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
throws
TypeException

Kein Objekt

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
throws
TypeException

Kein einfacher Wert

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
throws
NullException
throws
NullException

Wert ist nicht null

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
see
Type::checkIfExpectedTypeIsSimple
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
see
Type::checkIfExpectedTypeIsSimple
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
throws
NotCallableException

Methode nicht gefunden

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
throws
TypeException
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
throws
OutOfRangeException

Wenn der Wertebereich ausserhalb eines Integers ist.

throws
TypeException

Wenn der Type nicht sauber in ein Integer umgewandelt werden kann.

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

        
On this page

Search results