public function testSetDataWithKeys() { $data = array(); $input = new DataInput($data); $input->setDataWithKeys(array(), array('key1' => 'key1value')); $this->assertEquals('key1value', $input->get('key1')); $this->assertEquals(array('key1' => 'key1value'), $input->get(array())); }
/** * Gibt die Daten für das Feld zurück * * ist das Feld in Meta definiert, aber keine Daten gesetzt worden wird NULL zurückgegeben * @param array|string wenn string dann ebenen mit . getrennt * @return mixed|NULL * @throws FieldNotDefinedException */ public function get($field) { // wir machen hier erstmal nicht so performant immer einen meta-check $this->meta->getFieldType($field); // throws FieldNotDefinedException return $this->fields->get($field, NULL, NULL); // returned immer NULL wenn nicht gesetzt }
public function load($key, &$loaded) { $cached = $this->cachedObjects->get($key, NULL, NULL); if (!is_array($cached)) { $loaded = FALSE; return NULL; } if ($cached['expire'] < $this->now()) { // $cache eintrag ist ausgelaufen $this->cachedObjects->remove($key); $loaded = FALSE; return NULL; } $loaded = TRUE; return $cached['object']; }
public function testWeirdComparison() { $ar = array(); $data = new \Psc\DataInput($ar); /* im code war hier Vergleich von $do (int(1)) == self::THROW_EXCEPTION (string('throw')) ergibt TRUE da schmeisst das hier eine Exception, obwohl es default zurückgeben müsste */ $this->assertEquals(0, $data->get(array('noneexistant'), 0, 0)); }
protected function createPage(DataInput $data) { $this->createSheet('Tabelle1'); $header = FALSE; foreach ($this->columnMapping as $c) { list($char, $key, $label) = $c; $name = implode('-', $key); if ($label != NULL) { $header = TRUE; } $this->addColumn($name, $char, $label); $this->sheet->getColumnDimension($char)->setAutoSize(TRUE); } if ($header) { $this->createStandardHeader(); } $rows = $data->get(array('rows'), array(), array()); foreach ($rows as $rowIndex => $row) { $this->processRow($row); $this->nextRow(); } }
/** * Gibt das Feld mit einem Defaultwert belegt zurück * * Im FormDataInput ist der dritte Parameter wirkungslos (er wird auf dasselbe wie $do gesetzt) * Deshalb ist hier der dritte Parameter unwirksam denn hier gilt $do = $default * zu beachten ist auch, dass der Defaultwert im FormDataInput auch genommen wird wenn der Wert trim() === '' ist * * also der $default -Wert wird genommen wenn: * - im Array die Schlüssel $keys nicht vorkommen * - der Wert der Schlüssel $keys im Array entweder === NULL oder trim() == '' ist * @see DataInput::get(); */ public function get($keys, $do = self::RETURN_NULL, $default = NULL) { // der default NULL für exception ist eigentlich uninteressant, da es zur Auswertung dieses Wertes vor der Exception nie kommt return parent::get($keys, $do, $do === self::RETURN_NULL || $do === self::THROW_EXCEPTION ? NULL : $do); }
/** * */ public function merge(DataInput $dataInput, array $fromKeys = array(), $toKeys = array()) { $ownData = $this->get($toKeys, array(), array()); $foreignData = $dataInput->get($fromKeys, array(), array()); $this->setDataWithKeys($toKeys, array_replace_recursive($ownData, $foreignData)); return $this; }