Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\Response;
- use App\Entity\User;
- use Doctrine\ORM\EntityManagerInterface;
- use Symfony\Component\Routing\Annotation\Route;
- use Symfony\Contracts\HttpClient\HttpClientInterface;
- class UserController extends AbstractController
- {
- private $entityManager;
- private $mailer;
- public function __construct(
- EntityManagerInterface $entityManager,
- \Swift_Mailer $mailer,
- HttpClientInterface $client
- )
- {
- $this->entityManager = $entityManager;
- $this->mailer = $mailer;
- $this->client = $client;
- }
- /**
- * @Route("/user/create", name="create_user", methods={"POST"})
- */
- public function createUser(Request $request): Response
- {
- $username = $request->request->get('username');
- $email = $request->request->get('email');
- $user = new User();
- $user->setUsername($username);
- $user->setEmail($email);
- $this->entityManager->persist($user);
- $this->entityManager->flush();
- $message = (new \Swift_Message('Welcome'))
- ->setTo($user->getEmail())
- ->setBody("Welcome to the site, {$user->getUsername()}");
- $this->mailer->send($message);
- $this->client->request(
- 'POST',
- 'https://crm-api.com/api/clients',
- [
- 'json' => [
- 'name' => $username,
- 'email' => $email,
- ],
- ]
- );
- return new Response('User created');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement