From 64ac1605b6fe8e997134dd57cc30f30b99ebc076 Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Wed, 29 Jan 2020 02:34:50 +0100 Subject: refactor : item abstract class new Item abstract class with hydrate and dry functions to clean others --- app/class/Dbitem.php | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) (limited to 'app/class/Dbitem.php') diff --git a/app/class/Dbitem.php b/app/class/Dbitem.php index fb272b1..34814d2 100644 --- a/app/class/Dbitem.php +++ b/app/class/Dbitem.php @@ -2,33 +2,25 @@ namespace Wcms; -class Dbitem +use DateTime; +use DateTimeImmutable; + +abstract class Dbitem extends Item { - public function hydrate($datas) - { - foreach ($datas as $key => $value) { - $method = 'set' . $key; - if (method_exists($this, $method)) { - $this->$method($value); + public function dry() + { + $array = []; + foreach ($this as $var => $value) { + if($value instanceof DateTime || $value instanceof DateTimeImmutable) { + $array[$var] = $this->$var('string'); + } else { + $array[$var] = $this->$var(); } } - - } - - public function dry() - { - $array = []; - foreach (get_object_vars($this) as $var => $value) { - if (in_array($var, $this::VAR_DATE)) { - $array[$var] = $this->$var('string'); - } else { - $array[$var] = $this->$var(); - } - } return $array; } -} +} ?> \ No newline at end of file -- cgit v1.2.3