Exemple #1
0
 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()));
 }
Exemple #2
0
 /**
  * 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
 }
Exemple #3
0
 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'];
 }
Exemple #4
0
 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();
     }
 }
Exemple #6
0
 /**
    * 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);
 }
Exemple #7
0
 /**
  * 
  */
 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;
 }