Преглед на файлове

Merged in FD3-309 (pull request #1)

quite el __call e implemente __issset y __unset

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Luciano Andrade преди 7 години
родител
ревизия
66a998f009
променени са 1 файла, в които са добавени 22 реда и са изтрити 11 реда
  1. 22 11
      Entity/Traits/ExtraDataTrait.php

+ 22 - 11
Entity/Traits/ExtraDataTrait.php

@@ -80,15 +80,26 @@ trait ExtraDataTrait
         return $value;
     }
 
-    public function __call($name, $arguments)
-    {
-        if (substr($name, 0, 3) == 'get') {
-            return $this->__get(substr($name, 3));
-        } else if (substr($name, 0, 3) == 'set') {
-            return $this->__set(substr($name, 3), $arguments);
-        } else {
-            return null;
-        }
+    //public function __call($name, $arguments)
+    //{
+    //    if (substr($name, 0, 3) == 'get') {
+    //        return $this->__get(substr($name, 3));
+    //    } else if (substr($name, 0, 3) == 'set') {
+    //        return $this->__set(substr($name, 3), $arguments);
+    //    } else {
+    //        return null;
+    //    }
+    //}
+
+    public function __isset($name){
+        $extraData = $this->jsonExtraData();
+        return isset($extraData[$name]);
+    }
+
+    public function __unset($name){
+	$extra = $this->jsonExtraData();
+        unset($extra[$name]);
+        $this->setJsonExtraData($extra);
     }
 
     public function __get($name)
@@ -96,10 +107,10 @@ trait ExtraDataTrait
         return $this->getData($name);
     }
 
-    public function __set($name, $arguments)
+    public function __set($name, $value)
     {
         $extra = $this->jsonExtraData();
-        $extra[$name] = $arguments[0];
+        $extra[$name] = $value;
         $this->setJsonExtraData($extra);
         return $this;
     }