State Processors
config/services.yaml
parameters: services: _defaults: autowire: true autoconfigure: true App\: resource: '../src/' exclude: - '../src/DependencyInjection/' - '../src/Entity/' - '../src/Kernel.php' App\State\ActivateAccount: bind: $decorated: '@api_platform.doctrine.orm.state.persist_processor'
src/State/ActivateAccount.php
<?php namespace App\State; use ApiPlatform\Metadata\Operation; use ApiPlatform\State\ProcessorInterface; use App\Entity\Account; use App\Entity\User; use Doctrine\ORM\EntityManagerInterface; class ActivateAccount implements ProcessorInterface { private ProcessorInterface $decorated; private EntityManagerInterface $manager; public function __construct( ProcessorInterface $decorated, EntityManagerInterface $manager ) { $this->decorated = $decorated; $this->manager = $manager; } public function process( mixed $data, Operation $operation, array $uriVariables = [], array $context = [] ) { if (!$data->isActive()) { $account = new Account(); $account->setEmail($data->getEmail()); $account->setPassword($data->getPassword()); $user = new User(); $user->setAccount($account); $user->setName(""); $user->setLastname(""); $this->manager->persist($account); $this->manager->persist($user); $this->manager->flush(); $data->setActive(true); } return $this->decorated->process( $data, $operation, $uriVariables, $context ); } }
Symfony / API Platform
2023/09/12 15:57 | linkbacks Linkbacks | symfony | ||
2024/04/14 23:41 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 20:27 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 23:30 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/16 00:55 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 21:01 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 22:07 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/14 23:52 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 20:23 | linkbacks Linkbacks | php, api-platform, symfony |