PHP code example of tourze / symfony-aop-coroutine-bundle
1. Go to this page and download the library: Download tourze/symfony-aop-coroutine-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tourze / symfony-aop-coroutine-bundle example snippets
use Tourze\Symfony\AopCoroutineBundle\Attribute\AsCoroutine;
#[AsCoroutine]
class UserService
{
private array $userData = [];
public function setUserData(string $userId, array $data): void
{
$this->userData[$userId] = $data;
}
public function getUserData(string $userId): ?array
{
return $this->userData[$userId] ?? null;
}
}
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Attribute\Route;
class UserController extends AbstractController
{
#[Route('/api/user/{id}', methods: ['POST'])]
public function updateUser(string $id, UserService $userService): JsonResponse
{
// Each request gets its own UserService instance
$userService->setUserData($id, ['name' => 'John', 'email' => '[email protected]']);
return new JsonResponse(['status' => 'updated']);
}
}
// Your logs will automatically 'user_id' => 123]);
// Result: [2023-01-01 10:00:00] app.INFO: User updated {"user_id":123,"context_id":"ctx_abc123"}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.