Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Commit

Permalink
Zend\Di Configuration Refactor
Browse files Browse the repository at this point in the history
  - changed configuration to use class name first when configuring parameters & methods
  • Loading branch information
Ralph Schindler committed Jul 13, 2011
1 parent 85d2727 commit 6fb196a
Showing 1 changed file with 23 additions and 21 deletions.
44 changes: 23 additions & 21 deletions src/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,36 +109,38 @@ public function configureInstance(DependencyInjector $di, $instanceData)
switch (strtolower($target)) {
case 'aliases':
case 'alias':
foreach ($data as $aliasName => $className) {
$im->addAlias($aliasName, $className);
}
break;
case 'parameters':
case 'parameter':
foreach ($data as $classOrAlias => $parameters) {
$im->setParameters($classOrAlias, $parameters);
}
break;
case 'method':
case 'methods':
foreach ($data as $classOrAlias => $methods) {
$im->setMethods($classOrAlias, $methods);
foreach ($data as $n => $v) {
$im->addAlias($n, $v);
}
break;
case 'preferences':
case 'preferredinstances':
case 'preferredinstance':
foreach ($data as $classOrAlias => $preferredValueOrValues) {
if (is_array($preferredValueOrValues)) {
foreach ($preferredValueOrValues as $preferredValue) {
$im->addTypePreference($classOrAlias, $preferredValue);
case 'preference':
foreach ($data as $n => $v) {
if (is_array($v)) {
foreach ($v as $v2) {
$im->addTypePreference($n, $v2);
}
} else {
$im->addTypePreference($classOrAlias, $preferredValueOrValues);
$im->addTypePreference($n, $v);
}
}
break;
default:
foreach ($data as $n => $v) {
switch ($n) {
case 'parameters':
case 'parameter':
$im->setParameters($target, $v);
break;
case 'methods':
case 'method':
$im->setMethods($target, $v);
break;
}
}
}
}

}

}

0 comments on commit 6fb196a

Please sign in to comment.