Download the PHP package ag/event without Composer

On this page you can find all versions of the php package ag/event. 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 event

######## Ag.Event ########

TYPO3 Flow package to support domain events as described in the Domain Events chapter from: https://vaughnvernon.co/?page_id=168

Why?

Because using domain events to communicate information between aggregates, modules and bounded contexts decreases coupling and helps avoiding anemic domain models.

How?

See Ag.Shop for an example on how to integrate.


Event processing

There is a CLI command which can be run via ./flow event:process {eventHandlerName}, where the {eventHandlerName} is defined in Settings.yaml for example that way:

Ag:
  Event:
    eventHandlers:
      async:
        'Acme\Foo\EventHandler\SomeThingTriggeredEventHandler': TRUE

Per convention, the class name's namespace separators are substituted by an undersocre, so the key name in this case would be Acme_Foo_EventHandler_SomeThingTriggeredEventHandler.

Deamonizing configuration

The mentioned CLI command must be kept alive manually because it intrinsically will time out after a specified time range in order to avoid for example the MySQL connection timing out.

In order to achieve that, we have three recommendations here.

Using supervisord

Have a pool with the following configuration:

[program:some_thing]
command=/var/www/production/flow event:process Acme_Foo_EventHandler_SomeThingTriggeredEventHandler
environment=FLOW_CONTEXT="Production"
redirect_stderr=true
stdout_logfile=/var/www/production/Data/Logs/Supervisord.log
stderr_logfile=/var/www/production/Data/Logs/Supervisord_error.log
user=theuser
autostart=true
autorestart=true
stopsignal=QUIT

Using daemon

Start the process with a command similar to this:

daemon --name="some_thing" --env="FLOW_CONTEXT=Production" --respawn --stdout="/var/www/production/Data/Logs/DaemonStdOut.log" --stderr="/var/www/production/Data/Logs/DaemonStdErr.log" /var/www/production/flow event:process Acme_Foo_EventHandler_SomeThingTriggeredEventHandler

Once started, you can stop this deamon with daemon --stop --name="some_thing".

Using upstart

Have an upstart config with especially respawn active.


All versions of event with dependencies

PHP Build Version
Package Version
Requires typo3/flow Version ~2.2
pda/pheanstalk Version 3.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 ag/event contains the following files

Loading the files please wait ....