Exemple #1
0
 protected function setupObject()
 {
     parent::setupObject();
     $this->name = $this->getAttribute('name');
     $this->baseClass = $this->getAttribute('baseClass');
     $this->defaultIdMethod = $this->getAttribute('defaultIdMethod', IdMethod::NATIVE);
     $this->defaultPhpNamingMethod = $this->getAttribute('defaultPhpNamingMethod', NameGenerator::CONV_METHOD_UNDERSCORE);
     $this->heavyIndexing = $this->booleanValue($this->getAttribute('heavyIndexing'));
     $this->tablePrefix = $this->getAttribute('tablePrefix', $this->getBuildProperty('tablePrefix'));
     $this->defaultStringFormat = $this->getAttribute('defaultStringFormat', static::DEFAULT_STRING_FORMAT);
 }
Exemple #2
0
 /**
  * Sets the database's schema.
  *
  * @param string $schema
  */
 public function setSchema($schema)
 {
     $oldSchema = $this->schema;
     if ($this->schema !== $schema && $this->getPlatform()) {
         $schemaDelimiter = $this->getPlatform()->getSchemaDelimiter();
         $fixHash = function (&$array) use($schema, $oldSchema, $schemaDelimiter) {
             foreach ($array as $k => $v) {
                 if ($schema && $this->getPlatform()->supportsSchemas()) {
                     if (false === strpos($k, $schemaDelimiter)) {
                         $array[$schema . $schemaDelimiter . $k] = $v;
                         unset($array[$k]);
                     }
                 } elseif ($oldSchema) {
                     if (false !== strpos($k, $schemaDelimiter)) {
                         $array[explode($schemaDelimiter, $k)[1]] = $v;
                         unset($array[$k]);
                     }
                 }
             }
         };
         $fixHash($this->tablesByName);
         $fixHash($this->tablesByLowercaseName);
     }
     parent::setSchema($schema);
 }
Exemple #3
0
 public function setupObject()
 {
     parent::setupObject();
     $this->commonName = $this->originCommonName = $this->getAttribute('name');
     // retrieves the method for converting from specified name to a PHP name.
     $this->phpNamingMethod = $this->getAttribute('phpNamingMethod', $this->database->getDefaultPhpNamingMethod());
     $this->phpName = $this->getAttribute('phpName', $this->buildPhpName($this->getStdSeparatedName()));
     if ($this->database->getTablePrefix()) {
         $this->commonName = $this->database->getTablePrefix() . $this->commonName;
     }
     $this->idMethod = $this->getAttribute('idMethod', $this->database->getDefaultIdMethod());
     $this->allowPkInsert = $this->booleanValue($this->getAttribute('allowPkInsert'));
     $this->skipSql = $this->booleanValue($this->getAttribute('skipSql'));
     $this->readOnly = $this->booleanValue($this->getAttribute('readOnly'));
     $this->isAbstract = $this->booleanValue($this->getAttribute('abstract'));
     $this->baseClass = $this->getAttribute('baseClass');
     $this->alias = $this->getAttribute('alias');
     $this->heavyIndexing = $this->booleanValue($this->getAttribute('heavyIndexing')) || 'false' !== $this->getAttribute('heavyIndexing') && $this->database->isHeavyIndexing();
     if ($this->getAttribute('identifierQuoting')) {
         $this->identifierQuoting = $this->booleanValue($this->getAttribute('identifierQuoting'));
     }
     $this->description = $this->getAttribute('description');
     $this->interface = $this->getAttribute('interface');
     // sic ('interface' is reserved word)
     $this->reloadOnInsert = $this->booleanValue($this->getAttribute('reloadOnInsert'));
     $this->reloadOnUpdate = $this->booleanValue($this->getAttribute('reloadOnUpdate'));
     $this->isCrossRef = $this->booleanValue($this->getAttribute('isCrossRef', false));
     $this->defaultStringFormat = $this->getAttribute('defaultStringFormat');
     $this->defaultAccessorVisibility = $this->getAttribute('defaultAccessorVisibility', $this->database->getAttribute('defaultAccessorVisibility', static::VISIBILITY_PUBLIC));
     $this->defaultMutatorVisibility = $this->getAttribute('defaultMutatorVisibility', $this->database->getAttribute('defaultMutatorVisibility', static::VISIBILITY_PUBLIC));
 }