core/xpdo/om/mysql/xpdogenerator.class.php
MySQL classes for generating xPDOObject classes and maps from an xPDO schema.
- Package
- xpdo
- Subpackage
- om.mysql
\xPDOGenerator_mysql
An extension for generating {@link xPDOObject} class and map files for MySQL.
A MySQL-specific extension to an {@link xPDOManager} instance that can generate class stub and meta-data map files from a provided XML schema of a database structure.
- Parent(s)
- \xPDOGenerator
Properties
string
$aliasKey= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$aliasKey
string
$className= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$className
string
$classTemplate= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$classTemplate
array
$classes= 'array ()'
array ()
Details- Type
- array
- Inherited_from
- \xPDOGenerator::$$classes
string
$fieldKey= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$fieldKey
string
$indexName= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$indexName
\xPDOManager
$manager= 'null'
null
Details- Type
- \xPDOManager
- Inherited_from
- \xPDOGenerator::$$manager
array
$map= 'array ()'
array ()
Details- Type
- array
- Inherited_from
- \xPDOGenerator::$$map
string
$mapFooter= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$mapFooter
string
$mapHeader= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$mapHeader
string
$metaTemplate= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$metaTemplate
array
$model= 'array ()'
array ()
Details- Type
- array
- Inherited_from
- \xPDOGenerator::$$model
string
$outputDir= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$outputDir
string
$platformTemplate= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$platformTemplate
string
$schemaContent= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$schemaContent
string
$schemaFile= ''''
''
Details- Type
- string
- Inherited_from
- \xPDOGenerator::$$schemaFile
\xPDOSchemaManager
$schemaManager= 'null'
null
Details- Type
- \xPDOSchemaManager
- Inherited_from
- \xPDOGenerator::$$schemaManager
\xmlParser
$xmlParser= 'null'
null
Details- Type
- \xmlParser
- Inherited_from
- \xPDOGenerator::$$xmlParser
Methods
__construct(
\xPDOManager $manager
)
:
\xPDOGenerator
Name | Type | Description |
---|---|---|
$manager | \xPDOManager | &$manager A reference to a valid xPDOManager instance. |
Type | Description |
---|---|
\xPDOGenerator |
- Access
- protected
_handleCData(
$parser, $data
)
:
void
Name | Type | Description |
---|---|---|
$parser | ||
$data |
- Access
- protected
_handleCloseElement(
$parser, $element
)
:
void
Name | Type | Description |
---|---|---|
$parser | ||
$element |
- Access
- protected
_handleOpenElement(
\xmlParser $parser, string $element, array $attributes
)
:
void
Handles formatting of the open XML element.
Inherited from: \xPDOGenerator::_handleOpenElement()Name | Type | Description |
---|---|---|
$parser | \xmlParser | &$parser |
$element | string | &$element |
$attributes | array | &$attributes |
- Access
- protected
compile(
string $path
=
''
)
:
boolean
Compile the packages into a single file for quicker loading.
Name | Type | Description |
---|---|---|
$path | string | The absolute path to compile into. |
Type | Description |
---|---|
boolean | True if the compiling went successfully. |
getClassName(
string $string
)
:
string
Gets a class name from a table name by splitting the string by _ and capitalizing each token.
Inherited from: \xPDOGenerator::getClassName()Name | Type | Description |
---|---|---|
$string | string | The table name to format. |
Type | Description |
---|---|
string | The formatted string. |
- Access
- public
getClassPlatformTemplate(
$platform
)
:
string
Return the class platform template for the class files.
Inherited from: \xPDOGenerator::getClassPlatformTemplate()Name | Type | Description |
---|---|---|
$platform |
Type | Description |
---|---|
string | The class platform template. |
- Access
- public
getClassTemplate(
)
:
string
Return the class template for the class files.
Inherited from: \xPDOGenerator::getClassTemplate()Type | Description |
---|---|
string | The class template. |
- Access
- public
getDefault(
string $value
)
:
string
Format the passed default value as an XML attribute.
Inherited from: \xPDOGenerator::getDefault()Override this in different PDO driver implementations if necessary.
Name | Type | Description |
---|---|---|
$value | string | The value to encapsulate in the default tag. |
Type | Description |
---|---|
string | The parsed XML string |
- Access
- public
getIndex(
string $index
)
:
string
Format the passed database index value as an XML attribute.
Name | Type | Description |
---|---|---|
$index | string | The DB representation string of the index |
Type | Description |
---|---|
string | The formatted XML attribute string |
getMapFooter(
)
:
string
Type | Description |
---|---|
string | The map footer template. |
- Access
- public
getMapHeader(
)
:
string
Type | Description |
---|---|
string | The map header template. |
- Access
- public
getMetaTemplate(
)
:
string
Type | Description |
---|---|
string | The meta template. |
- Access
- public
getTableName(
string $string, string $prefix
=
'', boolean $prefixRequired
=
false
)
:
string
Formats a class name to a specific value, stripping the prefix if specified.
Inherited from: \xPDOGenerator::getTableName()Name | Type | Description |
---|---|---|
$string | string | The name to format. |
$prefix | string | If specified, will strip the prefix out of the first argument. |
$prefixRequired | boolean | If true, will return a blank string if the prefix specified is not found. |
Type | Description |
---|---|
string | The formatting string. |
- Access
- public
outputClasses(
string $path
)
:
void
Write the generated class files to the specified path.
Inherited from: \xPDOGenerator::outputClasses()Name | Type | Description |
---|---|---|
$path | string | An absolute path to write the generated class files to. |
- Access
- public
outputMaps(
string $path
)
:
void
Write the generated class maps to the specified path.
Inherited from: \xPDOGenerator::outputMaps()Name | Type | Description |
---|---|---|
$path | string | An absolute path to write the generated maps to. |
- Access
- public
outputMeta(
string $path
)
:
bool
Write the generated meta map to the specified path.
Inherited from: \xPDOGenerator::outputMeta()Name | Type | Description |
---|---|---|
$path | string | An absolute path to write the generated maps to. |
Type | Description |
---|---|
bool |
parseSchema(
string $schemaFile, string $outputDir
=
'', boolean $compile
=
false
)
:
boolean
Parses an XPDO XML schema and generates classes and map files from it.
Inherited from: \xPDOGenerator::parseSchema()Name | Type | Description |
---|---|---|
$schemaFile | string | The name of the XML file representing the schema. |
$outputDir | string | The directory in which to generate the class and map files into. |
$compile | boolean | Create compiled copies of the classes and maps from the schema. |
Type | Description |
---|---|
boolean | True on success, false on failure. |
writeSchema(
string $schemaFile, string $package
=
'', string $baseClass
=
'', string $tablePrefix
=
'', boolean $restrictPrefix
=
false
)
:
boolean
Write an xPDO XML Schema from your database.
Name | Type | Description |
---|---|---|
$schemaFile | string | The name (including path) of the schemaFile you want to write. |
$package | string | Name of the package to generate the classes in. |
$baseClass | string | The class which all classes in the package will extend; by default this is set to {@link xPDOObject} and any auto_increment fields with the column name 'id' will extend {@link xPDOSimpleObject} automatically. |
$tablePrefix | string | The table prefix for the current connection, which will be removed from all of the generated class and table names. Specify a prefix when creating a new {@link xPDO} instance to recreate the tables with the same prefix, but still use the generic class names. |
$restrictPrefix | boolean | Only reverse-engineer tables that have the specified tablePrefix; if tablePrefix is empty, this is ignored. |
Type | Description |
---|---|
boolean | True on success, false on failure. |