to send custom headers, you need send it as associative array under attribute 'headers'
AMQPExchange::publish
(PECL amqp >= Unknown)
AMQPExchange::publish — Publish a message to an exchange.
Beschreibung
public bool AMQPExchange::publish
( string
$message
, string $routing_key
[, int $flags = AMQP_NOPARAM
[, array $attributes = array()
]] )Publish a message to the exchange represented by the AMQPExchange object.
Parameter-Liste
-
message -
The message to publish.
-
routing_key -
The routing key to which to publish.
-
flags -
One or more of
AMQP_MANDATORYandAMQP_IMMEDIATE. -
attributes -
Supported indexes key Description Default value content_type text/plain content_encoding NULL message_id NULL user_id NULL app_id NULL delivery_mode NULL priority NULL timestamp NULL expiration NULL type NULL reply_to NULL
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Fehler/Exceptions
Throws an AMQPExchangeException on failure.
Throws AMQPChannelException if the channel is not open.
Throws AMQPConnectionException if the connection to the broker was lost.
Andy (Larest) ¶
5 months ago
glenjamin at gmail dot com ¶
1 year ago
Any unused attributes will be assigned as custom headers attached to the outgoing message's headers collection.
This isn't exactly clear from the documentation above, but I've checked the C source, and that's how you set custom headers.
prudkiy at mail dot ru ¶
1 year ago
Please note, here no way to be sure if message really published
The use of flags AMQP_MANDATORY and AMQP_IMMEDIATE not force to return any errors (in case if queue not exists etc) and "publish" returns TRUE anyway
