Beispiel #1
0
 /**
  * @param array $ensureIsArray
  * @param array $keyMap
  * @return array
  */
 protected function prepareParametersFromArguments($ensureIsArray = [], $keyMap = [])
 {
     $call = debug_backtrace(false)[1];
     $class = $call['class'];
     $method = $call['function'];
     $arguments = $call['args'];
     $reflection = new \ReflectionMethod($class, $method);
     $reflectionParameters = $reflection->getParameters();
     $parameters = [];
     foreach ($reflectionParameters as $id => $reflectionParameter) {
         $originalKey = $reflectionParameter->getName();
         $key = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', Utils::getFrom($keyMap, $originalKey, $originalKey)));
         // will fail on required values
         // but without them you cannot get here
         $parameters[$key] = isset($arguments[$id]) ? $arguments[$id] : $reflectionParameter->getDefaultValue();
         if (in_array($originalKey, $ensureIsArray)) {
             $parameters[$key] = $this->ensureIsArray($parameters[$key]);
         }
     }
     return $this->prepareParameters($parameters);
 }
 public function getQueryParameters()
 {
     $parameters = [];
     $reflection = new \ReflectionObject($this);
     $reflectionParameters = $reflection->getProperties(ReflectionProperty::IS_PROTECTED);
     $ensureIsArray = $this->ensureIsArray;
     $keyMap = $this->keyMap;
     foreach ($reflectionParameters as $id => $reflectionParameter) {
         $originalKey = $reflectionParameter->getName();
         if (in_array($originalKey, ['ensureIsArray', 'keyMap'])) {
             continue;
         }
         $key = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', Utils::getFrom($keyMap, $originalKey, $originalKey)));
         // will fail on required values
         // but without them you cannot get here
         $parameters[$key] = method_exists($this, 'is' . ucfirst($originalKey)) ? $this->{'is' . ucfirst($originalKey)}() : $this->{'get' . ucfirst($originalKey)}();
         if (in_array($originalKey, $ensureIsArray)) {
             $parameters[$key] = $this->ensureIsArray($parameters[$key]);
         }
     }
     return array_filter($parameters);
 }
 /**
  * @param $key
  * @param null $default
  * @return mixed
  */
 public function getOriginalRequestParameter($key, $default = null)
 {
     $originalParameters = $this->getOriginalRequestParameters();
     return Utils::getFrom($originalParameters, $key, $default);
 }