Exemplo n.º 1
0
 /**
  * @param array $propResultArray
  * @return array
  */
 public final function getResultAsArray(array $propResultArray = null)
 {
     if ($propResultArray === null) {
         if ($this->propResultArray !== null && is_array($this->propResultArray)) {
             $propResultArray = $this->propResultArray;
         } else {
             error_log(ErrorMessages::getPropresultarrayNotSuppliedMessage());
             return [];
         }
     }
     $processArray = function ($inputArray) use(&$processArray) {
         $processedArray = array();
         foreach ($inputArray as $key => $prop) {
             if (is_string($prop)) {
                 $propGetter = "get" . ucfirst($prop);
                 if (method_exists($this, $propGetter)) {
                     $processedArray[is_string($key) ? $key : $prop] = call_user_func(array($this, $propGetter));
                 } else {
                     error_log(ErrorMessages::getMethodDoesNotExistMessage($propGetter, get_class($this)));
                 }
             }
             if (is_array($prop)) {
                 $processedArray[$key] = $processArray($prop);
             }
         }
         return $processedArray;
     };
     return $processArray($propResultArray);
 }