The way we're using "routingKey" in `public function publishMessage($payload)`
```
$channel->basic_publish($message, $this->exchangeOptions['name'], $this->routingKey);
```
calls to
```
public function basic_publish($msg, $exchange="", $routing_key="",
                                  $mandatory=false, $immediate=false,
                                  $ticket=null)
```
which calls:
```
list($class_id, $method_id, $args) =
            $this->protocolWriter->basicPublish($ticket, $exchange, $routing_key, $mandatory, $immediate);
```
which then points to: https://www.rabbitmq.com/amqp-0-9-1-reference.html#basic.publish

> shortstr routing-key
> Specifies the routing key for the message. The routing key is used for routing messages depending on the 
> exchange configuration.

In short, if it's a direct exchange thus the key is used. It all depends on the exchange type. In our case, "direct" and "topic" exchanges need them. If it's a single queue attached to the direct exchange then it's not as important but good practice.

See the **Direct Exchange** section: http://www.rabbitmq.com/tutorials/tutorial-four-php.html for an example. 

In super short terms, you were right!