Пример #1
0
 /**
  * @param  string    $method
  * @param  mixed|bool|null $isRequired
  * @return self
  */
 public function addMethod($method, $isRequired = null)
 {
     if ($isRequired === null) {
         if ($method === '__construct') {
             $methodRequirementType = Di::METHOD_IS_CONSTRUCTOR;
         }
         $methodRequirementType = Di::METHOD_IS_OPTIONAL;
     } else {
         $methodRequirementType = InjectionMethod::detectMethodRequirement($isRequired);
     }
     $this->methods[$method] = $methodRequirementType;
     return $this;
 }
Пример #2
0
 /**
  * @param array $dataArray
  */
 public function __construct(array $dataArray)
 {
     foreach ($dataArray as $class => $value) {
         // force lower names
         $dataArray[$class] = array_change_key_case($dataArray[$class], CASE_LOWER);
     }
     foreach ($dataArray as $class => $definition) {
         if (isset($definition['methods']) && is_array($definition['methods'])) {
             foreach ($definition['methods'] as $type => $requirement) {
                 if (!is_int($requirement)) {
                     $dataArray[$class]['methods'][$type] = InjectionMethod::detectMethodRequirement($requirement);
                 }
             }
         }
     }
     $this->dataArray = $dataArray;
 }