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

Commit

Permalink
Merge branch 'master' of ssh://git.zendframework.com:21652/zf
Browse files Browse the repository at this point in the history
  • Loading branch information
Ralph Schindler committed Oct 17, 2011
Show file tree
Hide file tree
Showing 10 changed files with 293 additions and 193 deletions.
16 changes: 8 additions & 8 deletions src/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,12 @@ public function configureDefinition(Di $di, $definition)
{
foreach ($definition as $definitionType => $definitionData) {
switch ($definitionType) {
case 'compiler':
// @todo
case 'runtime':
// @todo
case 'class':
foreach ($definitionData as $className => $classDefinitionData) {
foreach ($definitionData as $className => $classData) {
$classDefinitions = $di->definitions()->getDefinitionsByType('Zend\Di\Definition\ClassDefinition');
foreach ($classDefinitions as $classDefinition) {
if (!$classDefinition->hasClass($className)) {
Expand All @@ -55,9 +59,9 @@ public function configureDefinition(Di $di, $definition)
}
if (!isset($classDefinition)) {
$classDefinition = new Definition\ClassDefinition($className);
$di->definitions()->addDefinition($classDefinition);
$di->definitions()->addDefinition($classDefinition, false);
}
foreach ($classDefinitionData as $classDefKey => $classDefData) {
foreach ($classData as $classDefKey => $classDefData) {
switch ($classDefKey) {
case 'instantiator':
$classDefinition->setInstantiator($classDefData);
Expand Down Expand Up @@ -89,11 +93,6 @@ public function configureDefinition(Di $di, $definition)
}
}
}
break;
case 'compiler':
// @todo
case 'runtime':
// @todo
}

}
Expand Down Expand Up @@ -141,5 +140,6 @@ public function configureInstance(Di $di, $instanceData)
}

}


}
32 changes: 14 additions & 18 deletions src/Definition/ArrayDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ public function getClassSupertypes($class)
return array();
}

if (!isset($this->dataArray[$class]['superTypes'])) {
if (!isset($this->dataArray[$class]['supertypes'])) {
return array();
}

return $this->dataArray[$class]['superTypes'];
return $this->dataArray[$class]['supertypes'];
}

public function getInstantiator($class)
Expand All @@ -54,28 +54,24 @@ public function hasMethods($class)
return array();
}

if (!isset($this->dataArray[$class]['injectionMethods'])) {
if (!isset($this->dataArray[$class]['methods'])) {
return array();
}

return (count($this->dataArray[$class]['injectionMethods']) > 0);
return (count($this->dataArray[$class]['methods']) > 0);
}

public function hasMethod($class, $method)
{
if (!isset($this->dataArray[$class])) {
return array();
return false;
}

if (!isset($this->dataArray[$class]['injectionMethods'])) {
return array();
}

if (!isset($this->dataArray[$class]['injectionMethods'][$method])) {
return array();
if (!isset($this->dataArray[$class]['methods'])) {
return false;
}

return array_key_exists($method, $this->dataArray[$class]['injectionMethods']);
return array_key_exists($method, $this->dataArray[$class]['methods']);
}

public function getMethods($class)
Expand All @@ -84,11 +80,11 @@ public function getMethods($class)
return array();
}

if (!isset($this->dataArray[$class]['injectionMethods'])) {
if (!isset($this->dataArray[$class]['methods'])) {
return array();
}

return array_keys($this->dataArray[$class]['injectionMethods']);
return $this->dataArray[$class]['methods'];
}

/**
Expand All @@ -98,7 +94,7 @@ public function getMethods($class)
*/
public function hasMethodParameters($class, $method)
{
return isset($this->dataArray[$class]['injectionMethods'][$method]);
return isset($this->dataArray[$class]['parameters'][$method]);
}

public function getMethodParameters($class, $method)
Expand All @@ -107,15 +103,15 @@ public function getMethodParameters($class, $method)
return array();
}

if (!isset($this->dataArray[$class]['injectionMethods'])) {
if (!isset($this->dataArray[$class]['parameters'])) {
return array();
}

if (!isset($this->dataArray[$class]['injectionMethods'][$method])) {
if (!isset($this->dataArray[$class]['parameters'][$method])) {
return array();
}

return $this->dataArray[$class]['injectionMethods'][$method];
return $this->dataArray[$class]['parameters'][$method];
}

public function toArray()
Expand Down
7 changes: 5 additions & 2 deletions src/Definition/ClassDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,18 @@ public function setSupertypes(array $supertypes)
$this->supertypes = $supertypes;
}

public function addMethod($method, $isRequired = false)
public function addMethod($method, $isRequired = null)
{
if ($isRequired === null) {
$isRequired = ($method === '__construct') ? true : false;
}
$this->methods[$method] = (bool) $isRequired;
}

public function addMethodParameter($method, $parameterName, array $parameterInfo)
{
if (!array_key_exists($method, $this->methods)) {
$this->methods[$method] = false;
$this->methods[$method] = ($method === '__construct') ? true : false;
}

if (!array_key_exists($method, $this->methodParameters)) {
Expand Down
Loading

0 comments on commit da02d07

Please sign in to comment.