/** * Generates a class name with namespace prefix from the specified table name. * * @param string $tableName the table name (which may contain schema prefix) * @param bool $short * @return string the generated class name */ protected function generateClassName($tableName, $short = false) { $ns = null; if (list($prefix, $ns) = $this->tablePrefixMatches($tableName)) { $tableName = substr($tableName, strlen($prefix)); } $className = parent::generateClassName($tableName); if (null !== $ns && $short === false) { $className = '\\' . trim($this->ns . '\\' . $ns, '\\') . '\\' . $className; } return $className; }
protected function generate2ClassNames($tableName, $useSchemaName = null) { $tableName = preg_replace('/2/', '2_', $tableName); return parent::generateClassName($tableName, $useSchemaName); }
/** * @inheritdoc */ protected function generateClassName($tableName, $useSchemaName = null) { if (!$this->relationsDone) { return parent::generateClassName($tableName, $useSchemaName); } $className = parent::generateClassName($tableName, $useSchemaName) . 'Base'; if ($this->commonBaseClass) { $nsClassName = $this->ns . '\\' . $className; if (class_exists($nsClassName)) { $this->baseClass = get_parent_class($nsClassName); } else { $this->baseClass = $this->commonBaseClass; } } return $className; }