Erweiterung der Super-global Wrappers
Eine neue Klasse Wrapper erstellen, welche eine die statischefunktion emptyState enthält.
abstract class Wrapper {
/**
* @param string $type string | float | int | array | bool | object | class | null
* @return array|false|float|int|string|null
*/
private static function emptyState (string $type='null')
{
$type = strtolower($type);
switch ($type) {
case 'string':
return "";
case 'float';
return (float) 0;
case 'int':
return 0;
case 'array':
return [];
case 'bool':
return false;
default:
return null;
}
}
}
Wrapper included und die Klassen Post, Get, etc. erweitern die Klasse Wrapper
include_once($_SERVER['DOCUMENT_ROOT'] . '/core/Wrapper.php');
class Post extends Wrapper {
// Methods mit self::emptyState($type) an Stelle von null ergänzen
public static function get($key = null, string $type='null')
{
$value = $_POST ?? [];
if(is_array($key)){
foreach($key as $singleKey){
$value = $value[$singleKey] ?? self::emptyState($type);
}
return $value;
} else {
if(isset($key)){
return $value[$key] ?? self::emptyState($type);
} else {
return $value;
}
}
}
}