1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-05 05:37:39 +02:00

introduced new class constants

This commit is contained in:
David Grudl
2008-10-10 01:35:33 +00:00
parent b0f155f767
commit ae77148773
4 changed files with 19 additions and 12 deletions

View File

@@ -111,6 +111,13 @@ class dibi
VERSION = '0.9',
REVISION = '$WCREV$ released on $WCDATE$';
/**
* Configuration options
*/
const
RESULT_WITH_TABLES = 'resultWithTables',
RESULT_OBJECTS = 'resultObjects',
RESULT_CLASS = 'resultClass';
/**
* Connection registry storage for DibiConnection objects.

View File

@@ -100,25 +100,25 @@ class DibiConnection extends DibiObject
}
if (isset($config['result:withtables'])) {
$config['resultWithTables'] = $config['result:withtables'];
$config[dibi::RESULT_WITH_TABLES] = $config['result:withtables'];
unset($config['result:withtables']);
}
if (isset($config['result:objects'])) {
$config['resultObjects'] = $config['result:objects'];
$config[dibi::RESULT_OBJECTS] = $config['result:objects'];
unset($config['result:objects']);
}
if (isset($config['resultObjects'])) { // normalize
$val = $config['resultObjects'];
$config['resultObjects'] = is_string($val) && !is_numeric($val) ? $val : (bool) $val;
if (isset($config[dibi::RESULT_OBJECTS])) { // normalize
$val = $config[dibi::RESULT_OBJECTS];
$config[dibi::RESULT_OBJECTS] = is_string($val) && !is_numeric($val) ? $val : (bool) $val;
}
if (isset($config['resultClass'])) {
if (strcasecmp($config['resultClass'], 'DibiResult') && !is_subclass_of($config['resultClass'], 'DibiResult')) {
if (isset($config[dibi::RESULT_CLASS])) {
if (strcasecmp($config[dibi::RESULT_CLASS], 'DibiResult') && !is_subclass_of($config[dibi::RESULT_CLASS], 'DibiResult')) {
throw new InvalidArgumentException("Class '$config[resultClass]' is not DibiResult descendant.");
}
$this->resultClass = $config['resultClass'];
$this->resultClass = $config[dibi::RESULT_CLASS];
}
$config['name'] = $name;

View File

@@ -89,12 +89,12 @@ class DibiResult extends DibiObject implements IDataSource
{
$this->driver = $driver;
if (!empty($config['resultWithTables'])) {
if (!empty($config[dibi::RESULT_WITH_TABLES])) {
$this->setWithTables(TRUE);
}
if (isset($config['resultObjects'])) {
$this->setObjects($config['resultObjects']);
if (isset($config[dibi::RESULT_OBJECTS])) {
$this->setObjects($config[dibi::RESULT_OBJECTS]);
}
}

View File

@@ -297,7 +297,7 @@ abstract class DibiTable extends DibiObject
$row = $this->blankRow;
$row[$this->primary] = NULL;
if ($class = $this->connection->getConfig('resultObjects')) {
if ($class = $this->connection->getConfig(dibi::RESULT_OBJECTS)) {
if ($class === TRUE) {
$row = (object) $row;
} else {