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); }
/** * 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); }
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)); }