コード例 #1
0
ファイル: ObjectManager.php プロジェクト: kassko/data-mapper
 protected function getCacheKey(Source $sourceMetadata, array $resolvedArgs)
 {
     return $sourceMetadata->getId() . $sourceMetadata->getMethod()->getClass() . $sourceMetadata->getMethod()->getFunction() . $this->flattenValue($resolvedArgs);
 }
コード例 #2
0
 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));
         }
     }
 }
コード例 #3
0
ファイル: ArrayLoader.php プロジェクト: kassko/data-mapper
 /**
  * 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;
 }