fixes #659
This commit is contained in:
parent
3018a9e977
commit
1f18a99fd1
@ -66,6 +66,10 @@ abstract class Doctrine_Configurable extends Doctrine_Locator_Injectable
|
|||||||
* // or
|
* // or
|
||||||
*
|
*
|
||||||
* $manager->setAttribute('portability', Doctrine::PORTABILITY_ALL);
|
* $manager->setAttribute('portability', Doctrine::PORTABILITY_ALL);
|
||||||
|
*
|
||||||
|
* // or
|
||||||
|
*
|
||||||
|
* $manager->setAttribute('portability', 'all');
|
||||||
* </code>
|
* </code>
|
||||||
*
|
*
|
||||||
* @param mixed $attribute either a Doctrine::ATTR_* integer constant or a string
|
* @param mixed $attribute either a Doctrine::ATTR_* integer constant or a string
|
||||||
@ -75,18 +79,31 @@ abstract class Doctrine_Configurable extends Doctrine_Locator_Injectable
|
|||||||
* @throws Doctrine_Exception if the value is invalid
|
* @throws Doctrine_Exception if the value is invalid
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setAttribute($attribute,$value)
|
public function setAttribute($attribute, $value)
|
||||||
{
|
{
|
||||||
if (is_string($attribute)) {
|
if (is_string($attribute)) {
|
||||||
$upper = strtoupper($attribute);
|
$upper = strtoupper($attribute);
|
||||||
|
|
||||||
$const = 'Doctrine::ATTR_' . $attribute;
|
$const = 'Doctrine::ATTR_' . $upper;
|
||||||
|
|
||||||
if (defined($const)) {
|
if (defined($const)) {
|
||||||
$this->_state = constant($const);
|
$attribute = constant($const);
|
||||||
|
$this->_state = $attribute;
|
||||||
} else {
|
} else {
|
||||||
throw new Doctrine_Exception('Unknown attribute ' . $attribute);
|
throw new Doctrine_Exception('Unknown attribute: "' . $attribute . '"');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_string($value) && isset($upper)) {
|
||||||
|
$const = 'Doctrine::' . $upper . '_' . strtoupper($value);
|
||||||
|
|
||||||
|
if (defined($const)) {
|
||||||
|
$value = constant($const);
|
||||||
|
} else {
|
||||||
|
throw new Doctrine_Exception('Unknown attribute value: "' . $value . '"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch ($attribute) {
|
switch ($attribute) {
|
||||||
case Doctrine::ATTR_FETCHMODE:
|
case Doctrine::ATTR_FETCHMODE:
|
||||||
throw new Doctrine_Exception('Deprecated attribute. See http://www.phpdoctrine.org/documentation/manual?chapter=configuration');
|
throw new Doctrine_Exception('Deprecated attribute. See http://www.phpdoctrine.org/documentation/manual?chapter=configuration');
|
||||||
|
Loading…
Reference in New Issue
Block a user