コード例 #1
0
ファイル: Encoder.php プロジェクト: REZ1DENT3/json-api
 /**
  * @param object|array|Iterator|null       $data
  * @param DataAnalyzerInterface            $analyzer
  * @param EncodingParametersInterface|null $parameters
  *
  * @return EncodingParametersInterface
  */
 private function getEncodingParameters($data, DataAnalyzerInterface $analyzer, $parameters = null)
 {
     /** @var bool $isDataEmpty */
     /** @var SchemaProviderInterface $schema */
     list($isDataEmpty, , $schema) = $analyzer->analyze($data);
     if ($isDataEmpty === true) {
         return $this->factory->createEncodingParameters();
     } elseif ($parameters !== null && $parameters->getIncludePaths() !== null) {
         return $parameters;
     } else {
         $includePaths = $schema->getIncludePaths();
         $fieldSets = $parameters === null ? null : $parameters->getFieldSets();
         return $this->factory->createEncodingParameters($includePaths, $fieldSets);
     }
 }
コード例 #2
0
ファイル: Encoder.php プロジェクト: steffenbrem/json-api
 /**
  * @param array|object|null                $data
  * @param EncodingParametersInterface|null $parameters
  *
  * @return EncodingParametersInterface
  */
 private function getEncodingParameters($data, EncodingParametersInterface $parameters = null)
 {
     if (empty($data) === true && $parameters === null) {
         return $this->parametersFactory->createEncodingParameters();
     } elseif ($parameters !== null && $parameters->getIncludePaths() !== null) {
         return $parameters;
     } else {
         $schema = $this->container->getSchema(is_array($data) ? $data[0] : $data);
         $includePaths = $schema->getIncludePaths();
         $fieldSets = $parameters === null ? null : $parameters->getFieldSets();
         return $this->parametersFactory->createEncodingParameters($includePaths, $fieldSets);
     }
 }