public function getArrayCopy() { $data = parent::getArrayCopy(); $data['hydrator_name'] = $this->hydratorName; $data['object_manager'] = $this->objectManager; $data['by_value'] = $this->byValue; $data['strategies'] = $this->hydratorStrategies; $data['use_generated_hydrator'] = $this->useGeneratedHydrator; return $data; }
public function getArrayCopy() { $data = parent::getArrayCopy(); $data['adapter_name'] = $this->adapterName; $data['hydrator_name'] = $this->hydratorName; $data['table_name'] = $this->tableName; $data['table_service'] = $this->tableService; if (empty($data['service_name'])) { $data['service_name'] = $this->tableName; } return $data; }
public function getArrayCopy() { $return = parent::getArrayCopy(); $return['service_name'] = $this->serviceName; return $return; }
/** * Create a new service using the details provided * * @param RestServiceEntity $details * @return RestServiceEntity * @throws CreationException */ public function createService(RestServiceEntity $details) { $serviceName = ucfirst($details->serviceName); if (!preg_match('/^[a-zA-Z][a-zA-Z0-9_]*(\\\\[a-zA-Z][a-zA-Z0-9_]*)*$/', $serviceName)) { throw new CreationException('Invalid service name; must be a valid PHP namespace name.'); } $entity = new RestServiceEntity(); $entity->exchangeArray($details->getArrayCopy()); $mediaType = $this->createMediaType(); $controllerService = $details->controllerServiceName ? $details->controllerServiceName : $this->createControllerServiceName($serviceName); $resourceClass = $details->resourceClass ? $details->resourceClass : $this->createResourceClass($serviceName); $routeName = $details->routeName ? $details->routeName : $this->createRoute($serviceName, $details->routeMatch, $details->routeIdentifierName, $controllerService); $collectionClass = $details->collectionClass ? $details->collectionClass : $this->createCollectionClass($serviceName); $entityClass = $details->entityClass ? $details->entityClass : $this->createEntityClass($serviceName, 'entity', $details); $module = $details->module ? $details->module : $this->module; $entity->exchangeArray(['collection_class' => $collectionClass, 'controller_service_name' => $controllerService, 'entity_class' => $entityClass, 'module' => $module, 'resource_class' => $resourceClass, 'route_name' => $routeName, 'accept_whitelist' => [$mediaType, 'application/hal+json', 'application/json'], 'content_type_whitelist' => [$mediaType, 'application/json']]); $this->createRestConfig($entity, $controllerService, $resourceClass, $routeName); $this->createContentNegotiationConfig($entity, $controllerService); $this->createHalConfig($entity, $entityClass, $collectionClass, $routeName); return $entity; }