private function loadSource(Model\Source $sourceModel, DM\Source $annotation) { $sourceModel->setId($annotation->id)->setMethod(new Model\Method($annotation->class, $annotation->method, $annotation->args))->setLazyLoading($annotation->lazyLoading)->setSupplySeveralFields($annotation->supplySeveralFields)->setOnFail($annotation->onFail)->setExceptionClass($annotation->exceptionClass)->setBadReturnValue($annotation->badReturnValue)->setFallbackSourceId($annotation->fallbackSourceId)->setDepends($annotation->depends); if (isset($annotation->preprocessor->method)) { $sourceModel->addPreprocessor(new Model\Method($annotation->preprocessor->class, $annotation->preprocessor->method, $annotation->preprocessor->args)); } elseif (isset($annotation->preprocessors->items)) { foreach ($annotation->preprocessors->items as $preprocessor) { $sourceModel->addPreprocessor(new Model\Method($preprocessor->class, $preprocessor->method, $preprocessor->args)); } } if (isset($annotation->processor->method)) { $sourceModel->addProcessor(new Model\Method($annotation->processor->class, $annotation->processor->method, $annotation->processor->args)); } elseif (isset($annotation->processors->items)) { foreach ($annotation->processors->items as $processor) { $sourceModel->addProcessor(new Model\Method($processor->class, $processor->method, $processor->args)); } } }
/** * Hydrate a source model from raw datas. * * @param Model\Source $sourceModel * @param array $sourceData * * @return Model\Source */ private function loadSource(Model\Source $sourceModel, array $sourceData) { $sourceModel->setId($sourceData['id'])->setMethod(new Model\Method($sourceData['class'], $sourceData['method'], $sourceData['args']))->setLazyLoading($sourceData['lazyLoading'])->setSupplySeveralFields($sourceData['supplySeveralFields'])->setOnFail($sourceData['onFail'])->setExceptionClass($sourceData['exceptionClass'])->setBadReturnValue($sourceData['badReturnValue'])->setFallbackSourceId($sourceData['fallbackSourceId'])->setDepends($sourceData['depends']); if (isset($sourceData['preprocessor']['method'])) { $sourceModel->addPreprocessor(new Model\Method($sourceData['preprocessor']['class'], $sourceData['preprocessor']['method'], $sourceData['preprocessor']['args'])); } elseif (isset($sourceData['preprocessors'])) { foreach ($sourceData['preprocessors'] as $preprocessor) { $sourceModel->addPreprocessor(new Model\Method($preprocessor['class'], $preprocessor['method'], $preprocessor['args'])); } } if (isset($sourceData['processor']['method'])) { $sourceModel->addProcessor(new Model\Method($sourceData['processor']['class'], $sourceData['processor']['method'], $sourceData['processor']['args'])); } elseif (isset($sourceData['processors'])) { foreach ($sourceData['processors'] as $processor) { $sourceModel->addProcessor(new Model\Method($processor['class'], $processor['method'], $processor['args'])); } } return $sourceModel; }