PHP code example of recisio / symfony-nats-messenger
1. Go to this page and download the library: Download recisio/symfony-nats-messenger 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/ */
recisio / symfony-nats-messenger example snippets
use IDCT\NatsMessenger\Serializer\AbstractEnveloperSerializer;
use Symfony\Component\Messenger\Envelope;
class MyCustomSerializer extends AbstractEnveloperSerializer
{
protected function serialize(Envelope $envelope): string
{
// Your custom serialization logic
return serialize($envelope);
}
protected function deserialize(string $data): mixed
{
// Your custom deserialization logic
return unserialize($data);
}
}
use App\Message\MyAsyncMessage;
use Symfony\Component\Messenger\MessageBus;
class MyController
{
public function __construct(private MessageBus $bus) {}
public function send(): void
{
$this->bus->dispatch(new MyAsyncMessage('Hello NATS!'));
}
}
use App\Message\MyAsyncMessage;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
class MyAsyncMessageHandler implements MessageHandlerInterface
{
public function __invoke(MyAsyncMessage $message): void
{
echo "Processing: " . $message->getText();
}
}
use Symfony\Component\Messenger\Stamp\DelayStamp;
// Deliver after 30 seconds
$bus->dispatch(new MyMessage(), [new DelayStamp(30000)]);
use Symfony\Component\Messenger\MessageBus;
use Symfony\Component\Messenger\Transport\TransportInterface;
// Get message count
$count = $transport->getMessageCount();
// Check if messages are pending
if ($count > 0) {
echo "Pending messages: $count";
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.