/** * {@inheritdoc} */ public function create(array $options = []) { $class = $this->resource->getModel(); $object = new $class(); foreach ($options as $propertyPath => $value) { $this->propertyAccessor->setValue($object, $propertyPath, $value); } return $object; }
/** * @param ResourceInterface $resource * @param string|null $name * * @return ArrayNodeDefinition */ private function createResourceNode(ResourceInterface $resource, $name = null) { $resourceNode = $this->createNode($name ?: $resource->getName())->addDefaultsIfNotSet(); $childrenNode = $resourceNode->children()->append($this->createClassNode('model', $resource->getModel(), $resource->getInterfaces(), true))->append($this->createDriverNode($resource))->append($this->createClassNode('repository', $resource->getRepository(), [RepositoryInterface::class]))->append($this->createClassNode('factory', $resource->getFactory(), [FactoryInterface::class]))->append($this->createClassNode('form', $resource->getForm(), [FormTypeInterface::class]))->append($this->createClassNode('choice_form', $resource->getChoiceForm(), [FormTypeInterface::class]))->append($this->createClassNode('domain_manager', $resource->getDomainManager(), [DomainManagerInterface::class]))->append($this->createClassNode('controller', $resource->getController(), [ControllerInterface::class]))->append($this->createNode('id_property_path', 'scalar', $resource->getIdPropertyPath()))->append($this->createNode('label_property_path', 'scalar', $resource->getLabelPropertyPath())); foreach ($resource->getRelations() as $name => $relation) { $childrenNode->append($this->createResourceNode($relation, $name)); } return $resourceNode; }
/** * @param ResourceInterface $resource * * @return Definition */ private function createRepositoryDefinition(ResourceInterface $resource) { $definition = new Definition($resource->getRepository(), [$resource->getModel()]); $definition->setFactory([new Reference('lug.manager.' . $resource->getName()), 'getRepository']); $definition->addTag('lug.repository', ['resource' => $resource->getName()]); return $definition; }
/** * {@inheritdoc} */ public function create(array $options = []) { $class = $this->resource->getModel(); return new $class(); }