Topics Builder

Introduction

You can build topics by using the TopicsBuilder class.

Usage

use Kerox\Message\TopicsBuilder;

$topicsBuilder = new TopicsBuilder('Topic A');

AND condition

$topicsBuilder->andTopic('Topic B');

Result: 'Topic A' in topics && 'Topic B' in topics

OR condition

$topicsBuilder->orTopic('Topic B');

Result: 'Topic A' in topics || 'Topic B' in topics

Subcondition

$topicsBuilder->andTopic(function () {
    return new TopicsBuilder('Topic B')->orTopic('Topic C');
})

Result: 'Topic A' in topics && ('Topic B' in topics || 'Topic C' in topics)