public function testValue() { $property = new Property('protected', 'visibilities', array('public', 'protected')); $property->setValue('public;protected;private'); $this->assertSame('public;protected;private', $property->getValue()); }
protected function processColumnsMapping() { foreach ($this->configClass['columns'] as $name => &$column) { if (is_string($column)) { $column = array('type' => $column); } else { if (!is_array($column)) { throw new \RuntimeException(sprintf('The column "%s" is not an string or array.', $name)); } if (!isset($column['type'])) { throw new \RuntimeException(sprintf('The column "%s" does not have type.', $name)); } } /* * Mapping */ // column $fieldMapping = array('fieldName' => $name); foreach (array('type', 'length', 'precision', 'scale', 'nullable', 'unique', 'options', 'columnDefinition') as $attribute) { if (isset($column[$attribute])) { $fieldMapping[$attribute] = $column[$attribute]; } } if (isset($column['name'])) { $fieldMapping['columnName'] = $column['name']; } // identifier if (isset($column['id'])) { // field $fieldMapping['id'] = true; // check if (is_string($column['id'])) { $column['id'] = array('strategy' => $column['id']); } else { if (!is_array($column['id'])) { throw new \RuntimeException(sprintf('The identifier "%s" is not an array or an string.', $name)); } if (!isset($column['id']['strategy'])) { throw new \RuntimeException(sprintf('The identifier "%s" does not have strategy.', $name)); } } // strategy $strategyUpper = strtoupper($column['id']['strategy']); $this->loadMetadataCode[$this->class][] = <<<EOF \$metadata->setIdGeneratorType(\\Doctrine\\ORM\\Mapping\\ClassMetadata::GENERATOR_TYPE_{$strategyUpper}); EOF; // sequence if ('sequence' == $column['id']['strategy']) { if (!isset($column['id']['sequence'])) { $column['id']['sequence'] = array(); } $sequenceMapping = array(); if (isset($column['id']['sequence']['name'])) { $sequenceMapping['sequenceName'] = $column['id']['sequence']['name']; } if (isset($column['id']['sequence']['allocationSize'])) { $sequenceMapping['sequenceName'] = $column['id']['sequence']['allocationSize']; } if (isset($column['id']['sequence']['initialValue'])) { $sequenceMapping['sequenceName'] = $column['id']['sequence']['initialValue']; } $sequenceMapping = Dumper::exportArray($sequenceMapping, 12); $this->loadMetadataCode[$this->class][] = <<<EOF \$metadata->setSequenceGeneratorDefinition({$sequenceMapping}); EOF; } } // map field $fieldMapping = Dumper::exportArray($fieldMapping, 12); $this->loadMetadataCode[$this->class][] = <<<EOF \$metadata->mapField({$fieldMapping}); EOF; /* * Property */ $property = new Property('protected', $name, null); // default if (isset($column['default'])) { $property->setValue($column['default']); } $this->definitions['entity_base']->addProperty($property); } }