本文整理汇总了PHP中GeneratorConfig::getConfiguredBuilder方法的典型用法代码示例。如果您正苦于以下问题:PHP GeneratorConfig::getConfiguredBuilder方法的具体用法?PHP GeneratorConfig::getConfiguredBuilder怎么用?PHP GeneratorConfig::getConfiguredBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GeneratorConfig
的用法示例。
在下文中一共展示了GeneratorConfig::getConfiguredBuilder方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: startElement
/**
* Handles opening elements of the xml file.
*/
public function startElement($name, $attributes)
{
try {
if ($name == "dataset") {
// Clear any start/end DLL
call_user_func(array($this->builderClazz, 'reset'));
$this->sqlWriter->write(call_user_func(array($this->builderClazz, 'getDatabaseStartSql')));
} else {
// we're processing a row of data
// where tag name is phpName e.g. <BookReader .... />
$table = $this->database->getTableByPhpName($name);
$columnValues = array();
foreach ($attributes as $name => $value) {
$col = $table->getColumnByPhpName($name);
$columnValues[] = new ColumnValue($col, iconv('utf-8', $this->encoding, $value));
}
$data = new DataRow($table, $columnValues);
if ($this->currTableName !== $table->getName()) {
// new table encountered
if ($this->currBuilder !== null) {
$this->sqlWriter->write($this->currBuilder->getTableEndSql());
}
$this->currTableName = $table->getName();
$this->currBuilder = $this->generatorConfig->getConfiguredBuilder($table, 'datasql');
$this->sqlWriter->write($this->currBuilder->getTableStartSql());
}
// Write the SQL
$this->sqlWriter->write($this->currBuilder->buildRowSql($data));
}
} catch (Exception $e) {
// Exceptions have traditionally not bubbled up nicely from the expat parser,
// so we also print the stack trace here.
print $e;
throw $e;
}
}