public function testGetOrDefault() { $object = new \DateTime(); $this->assertSame('foobar', Archive::getOrDefault($object, 'field1', 'foobar')); Archive::set($object, 'field2', 'ups'); $this->assertSame('ups', Archive::getOrDefault($object, 'field2', 'foobar')); }
/** * Constructor. * * @param string $discriminatorField The discriminator field. * @param \Mandango\Document\AbstractDocument $parent The parent document. * @param string $field The reference field. * @param array|Boolean $discriminatorMap The discriminator map if exists, otherwise false. * * @api */ public function __construct($discriminatorField, $parent, $field, $discriminatorMap = false) { parent::__construct($discriminatorField); Archive::set($this, 'parent', $parent); Archive::set($this, 'field', $field); Archive::set($this, 'discriminatorMap', $discriminatorMap); }
/** * Set the root and path of the embedded document. * * @param \Mandango\Document\Document $root The root document. * @param string $path The path. * * @api */ public function setRootAndPath(Document $root, $path) { Archive::set($this, 'root_and_path', array('root' => $root, 'path' => $path)); if (isset($this->data['embeddedsOne'])) { foreach ($this->data['embeddedsOne'] as $name => $embedded) { $embedded->setRootAndPath($root, $path . '.' . $name); } } if (isset($this->data['embeddedsMany'])) { foreach ($this->data['embeddedsMany'] as $name => $embedded) { $embedded->setRootAndPath($root, $path . '.' . $name); } } }
/** * Set the saved data. * * @param array $data The saved data. */ public function setSavedData(array $data) { Archive::set($this, 'saved_data', $data); }
/** * Constructor. * * @param string $documentClass The document class. * @param Mandango\Document\AbstractDocument $parent The parent document. * @param string $field The reference field. * * @api */ public function __construct($documentClass, $parent, $field) { parent::__construct($documentClass); Archive::set($this, 'parent', $parent); Archive::set($this, 'field', $field); }
/** * Constructor. * * @param string $discriminatorField The discriminator field. * * @api */ public function __construct($discriminatorField) { Archive::set($this, 'discriminatorField', $discriminatorField); }