示例#1
0
文件: ArchiveTest.php 项目: hybr/jpm
 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'));
 }
示例#2
0
 /**
  * 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);
 }
示例#3
0
 /**
  * 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);
         }
     }
 }
示例#4
0
 /**
  * Set the saved data.
  *
  * @param array $data The saved data.
  */
 public function setSavedData(array $data)
 {
     Archive::set($this, 'saved_data', $data);
 }
示例#5
0
 /**
  * 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);
 }
示例#6
0
 /**
  * Constructor.
  *
  * @param string $discriminatorField The discriminator field.
  *
  * @api
  */
 public function __construct($discriminatorField)
 {
     Archive::set($this, 'discriminatorField', $discriminatorField);
 }
示例#7
0
文件: Group.php 项目: hybr/jpm
 /**
  * Constructor.
  *
  * @param string $documentClass The document class.
  *
  * @api
  */
 public function __construct($documentClass)
 {
     Archive::set($this, 'document_class', $documentClass);
 }