コード例 #1
0
ファイル: DoctrineCommand.php プロジェクト: pscheit/psc-cms
 public function hydrate($entity, $data)
 {
     if (is_array($data) && !\Webforge\Common\ArrayUtil::isNumeric($data)) {
         // numeric bedeutet composite key (z.b. OID)
         return $this->getRepository($entity)->hydrateBy($data);
     } else {
         return $this->getRepository($entity)->hydrate($data);
     }
 }
コード例 #2
0
ファイル: Walker.php プロジェクト: pscheit/psc-cms
 public function walkArrayValue($phpValue, Type $type)
 {
     $isList = $type->isList() !== NULL ? $type->isList() : \Webforge\Common\ArrayUtil::isNumeric($phpValue);
     if ($isList) {
         return $this->walkListValue((array) $phpValue, $type);
     } else {
         return $this->walkHashMapValue((object) $phpValue, $type);
         // alternativ: doch lValue übergeben und lValue->castToHashMap() oder sowas haben
     }
 }
コード例 #3
0
 /**
  * @return array
  */
 protected function parseParams($input)
 {
     $params = json_decode($json = $input->getArgument('parametersJSON'));
     if ($params === NULL) {
         throw new \InvalidArgumentException(sprintf("parametersJSON muss valides JSON sein: '%s' wurde übergeben", $json));
     }
     $params = (array) $params;
     if (\Webforge\Common\ArrayUtil::isNumeric($params)) {
         throw new \InvalidArgumentException(sprintf("parametesrJSON muss ein object sein, mit constructorParameterName => value oder propertyName => value"));
     }
     return $params;
 }
コード例 #4
0
ファイル: GridPanel.php プロジェクト: pscheit/psc-cms
 /**
  * @param mixed[] $columns die Spalten in der richtigen Reihenfolge
  */
 public function addRow(array $row)
 {
     $this->init();
     $names = array_keys($this->columns);
     if (!A::isNumeric($row)) {
         throw new InvalidArgumentException('Bis jetzt nur numerische Arrays. Die Reihenfolge ist: ' . implode(', ', $names));
     }
     if (count($row) !== count($names)) {
         throw new InvalidArgumentException('Spalten für addRow haben nicht die richtige Anzahl. Die Reihenfolge ist: ' . implode(', ', $names));
     }
     $grid = $this->getGrid();
     $grid->tr();
     foreach ($row as $index => $value) {
         $column = $this->getColumn($names[$index]);
         // validate wäre schön nach type?
         $td = $grid->td()->setContent($value)->addClass($this->classify($column->getName()))->addClass($column->getClasses());
     }
     $grid->tr();
     return $this;
 }