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;
            }
        }
    }
}

Kontakt

Interessieren Sie sich für mich? Lassen Sie uns zusammenarbeiten, um etwas wirklich Einzigartiges zu schaffen.