diff options
Diffstat (limited to 'core/namespace')
-rw-r--r-- | core/namespace/Attribute.php | 11 | ||||
-rw-r--r-- | core/namespace/HTTP.php | 67 |
2 files changed, 36 insertions, 42 deletions
diff --git a/core/namespace/Attribute.php b/core/namespace/Attribute.php index 69998e0..32cfa0a 100644 --- a/core/namespace/Attribute.php +++ b/core/namespace/Attribute.php @@ -16,6 +16,17 @@ abstract class Attribute implements AttributeInterface { } #=============================================================================== + # Get all attributes + #=============================================================================== + public function getAll($exclude = []): array { + $attributes = get_object_vars($this); + + return array_filter($attributes, function($attribute) use($exclude) { + return !in_array($attribute, $exclude); + }, ARRAY_FILTER_USE_KEY); + } + + #=============================================================================== # Get array with not FALSE attributes #=============================================================================== protected function getFilteredAttributes(): array { diff --git a/core/namespace/HTTP.php b/core/namespace/HTTP.php index bc2e062..d14b69b 100644 --- a/core/namespace/HTTP.php +++ b/core/namespace/HTTP.php @@ -81,23 +81,22 @@ class HTTP { self::$POST = $POST; self::$FILE = $FILE; - $removeArrays AND self::removeArrays(); + if($removeArrays) { + self::$GET = self::removeArrayValues(self::$GET); + self::$POST = self::removeArrayValues(self::$POST); + } self::$GET = ($trimValues === TRUE ? self::trim(self::$GET) : self::$GET ); self::$POST = ($trimValues === TRUE ? self::trim(self::$POST) : self::$POST); } #=============================================================================== - # Remove all arrays from $_GET and $_POST + # Remove all array values inside an array #=============================================================================== - private static function removeArrays() { - foreach(['GET', 'POST'] as $HTTP) { - foreach(self::$$HTTP as $name => $value) { - if(is_array(self::$$HTTP[$name])) { - unset(self::$$HTTP[$name]); - } - } - } + private static function removeArrayValues(array $array) { + return array_filter($array, function($value) { + return !is_array($value); + }); } #=============================================================================== @@ -114,7 +113,7 @@ class HTTP { #=============================================================================== # Checks if all elements of $arguments are set as key of $data #=============================================================================== - private static function issetData($data, $arguments) { + private static function issetData($data, $arguments): bool { foreach($arguments as $key) { if(is_array($key)) { if(!isset($data[key($key)]) OR $data[key($key)] !== $key[key($key)]) { @@ -131,61 +130,45 @@ class HTTP { } #=============================================================================== - # Return null or the value (if set) from one of the three requests attributes - #=============================================================================== - public static function returnKey($data, array $paths) { - $current = &$data; - - foreach($paths as $path) { - if(!isset($current[$path])) { - return NULL; - } - $current = &$current[$path]; - } - - return $current; - } - - #=============================================================================== # Return GET value #=============================================================================== - public static function GET() { - return self::returnKey(self::$GET, func_get_args()); + public static function GET($parameter) { + return self::$GET[$parameter] ?? NULL; } #=============================================================================== # Return POST value #=============================================================================== - public static function POST() { - return self::returnKey(self::$POST, func_get_args()); + public static function POST($parameter) { + return self::$POST[$parameter] ?? NULL; } #=============================================================================== # Return FILE value #=============================================================================== - public static function FILE() { - return self::returnKey(self::$FILE, func_get_args()); + public static function FILE($parameter) { + return self::$FILE[$parameter] ?? NULL; } #=============================================================================== - # Checks if all elements of func_get_args() are set key of self::$POST + # Checks if all elements of $parameters are set as key in self::$GET #=============================================================================== - public static function issetPOST() { - return self::issetData(self::$POST, func_get_args()); + public static function issetGET(... $parameters): bool { + return self::issetData(self::$GET, $parameters); } #=============================================================================== - # Checks if all elements of func_get_args() are set key of self::$GET + # Checks if all elements of $parameters are set as key in self::$POST #=============================================================================== - public static function issetGET() { - return self::issetData(self::$GET, func_get_args()); + public static function issetPOST(... $parameters): bool { + return self::issetData(self::$POST, $parameters); } #=============================================================================== - # Checks if all elements of func_get_args() are set key of self::$FILE + # Checks if all elements of $parameters are set as key in self::$FILE #=============================================================================== - public static function issetFILE() { - return self::issetData(self::$FILE, func_get_args()); + public static function issetFILE(... $parameters): bool { + return self::issetData(self::$FILE, $parameters); } #=============================================================================== |