Download the PHP package icehawk/pubsub without Composer

On this page you can find all versions of the php package icehawk/pubsub. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pubsub

Join the chat at https://gitter.im/icehawk/pubsub Build Status Coverage Status Latest Stable Version Total Downloads Latest Unstable Version License

IceHawk Framework

IceHawk\PubSub

Publish-Subscribe component for the IceHawk framework.

Requirements

Installation

Usage

Create a message

Please note:

... and of course user-defined content, so called payload.

IceHawk/PubSub shipps with 2 types/value objects for the message ID and message name. If you don't want / can't use them for any reason, you can alternativly implement their interfaces.

Shipped type / value object Interface
IceHawk\PubSub\Types\MessageId IceHawk\PubSub\Interfaces\IdentifiesMessage
IceHawk\PubSub\Types\MessageName IceHawk\PubSub\Interfaces\NamesMessage

The message itself MUST implement the following interface:

IceHawk\PubSub\Interfaces\CarriesInformation

So a message implementation could look like this:

And a new instance of this message is created like this:

Create a message subscriber

To implement a subscriber that gets notified about all messages published to the channel it is subscribing to, you can extend the AbstractMessageSubscriber class that is shipped with IceHawk\PubSub.

The AbstractMessageSubscriber class automatically converts the message name to a handler method name by prefixing when to the message name, which is converted to upper camelcase. (All non-alphanumeric characters are removed.) In this example: The message name "Something had happened" becomes the handler method name "whenSomethingHadHappened".

As the invocation to the handler method is triggered by the abstract parent class, the method must at least have protected (or public) visibility. Private methods would not be callable, because they would be out of the parent class' scope.

The handler methods gets invoked with 2 parameters:

  1. The published message instance
  2. The channel instance the message was published on

IceHawk\PubSub shipps with a type/value object for channels. If you don't want / can't use it for any reason, you can alternativly implement its interfaces.

Shipped type / value object Interface
IceHawk\PubSub\Types\Channel IceHawk\PubSub\Interfaces\IdentifiesChannel

The alternative to extend the AbstractMessageSubscriber class is to implement the following interface:

IceHawk\PubSub\Interfaces\SubscribesToMessages

A basic implementation of a subscriber, being notified about the previously created message, could look like this:

Subscribe to a channel

Note: The MessageBus class automatically prevents subscribing of equal subscribers to the same channel. But one subscriber can subscribe to multiple channels.

Publish a message

In the same way you subscribe to a channel, you will publish a message to a channel like this:

Prints:


All versions of pubsub with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package icehawk/pubsub contains the following files

Loading the files please wait ....