2017 © Pedro Peláez
 

library scabbia2-events

Scabbia2 Events Component

image

scabbiafw/scabbia2-events

Scabbia2 Events Component

  • Thursday, September 24, 2015
  • by eserozvataf
  • Repository
  • 1 Watchers
  • 1 Stars
  • 106 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Scabbia2 Events Component

This component is a simple event dispatcher allows registering callbacks to some events and chain execution of them., (*1)

Build Status Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version Documentation Status, (*2)

Usage

Delegates

use Scabbia\Events\Delegate;

$delegate = new Delegate();

$delegate->subscribe(function (...$parameters) {
    echo 'first subscriber:';
    var_dump($parameters);
});

$delegate->subscribe(function (...$parameters) {
    echo 'second subscriber:';
    echo count($parameters);
});

$delegate->invoke('a', 'b', 'c');

Delegates with priorities

use Scabbia\Events\Delegate;

$delegate = new Delegate();

// a subscription with priority = 300
$delegate->subscribe(function (...$parameters) {
    echo 'first subscriber:';
    var_dump($parameters);
}, null, 300);

// a subscription with priority = 1 (will be executed first)
$delegate->subscribe(function (...$parameters) {
    echo 'second subscriber, but more important:';
    echo count($parameters);
}, null, 1);

$delegate->invoke('a', 'b', 'c');

Delegates with breaking

use Scabbia\Events\Delegate;

$delegate = new Delegate();

$delegate->subscribe(function (...$parameters) {
    echo 'first subscriber:';
    var_dump($parameters);

    // breaks the execution
    return false;
});

$delegate->subscribe(function (...$parameters) {
    echo 'second subscriber, but not going to be executed:';
    echo count($parameters);
});

$delegate->invoke('a', 'b', 'c');

Events

use Scabbia\Events\Events;

$eventsManager = new Events();

$eventsManager->on('click', function (...$parameters) {
    echo "clicked on x={$parameters[0]} and y={$parameters[1]}!";
});

$eventsManager->on('double_click', function (...$parameters) {
    echo 'double clicked!';
});

$eventsManager->dispatch('click', 5, 10);

Contributing

It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome. All contributions should be filed on the eserozvataf/scabbia2-events repository., (*3)

  • To contribute to code: Fork the repo, push your changes to your fork, and submit a pull request.
  • To report a bug: If something does not work, please report it using GitHub issues.
  • To support: Donate

The Versions

24/09 2015

dev-master

9999999-dev http://www.scabbiafw.com/

Scabbia2 Events Component

  Sources   Download

Apache-2.0

The Requires

  • php >=5.6.0

 

The Development Requires

events scabbia larukedi scabbia2 scabbiafw

16/09 2015

v0.1.2

0.1.2.0 http://www.scabbiafw.com/

Scabbia2 Events Component

  Sources   Download

Apache-2.0

The Requires

  • php >=5.6.0

 

The Development Requires

events scabbia larukedi scabbia2 scabbiafw