icanboogie / bind-event
Binds icanboogie/event to ICanBoogie.
Installs: 2 887
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.2
- icanboogie/event: ^4.0
- icanboogie/icanboogie: ^5.0
Requires (Dev)
- phpunit/phpunit: ^8.5
README
The icanboogie/bind-event package binds icanboogie/event to ICanBoogie, using its
Autoconfig feature. It provides a config synthesizer for event hooks defined in event
configuration fragments, and an events
getter for Application instances.
<?php namespace ICanBoogie; require 'vendor/autoload.php'; $app = boot(); $app->configs['event']; // obtain the "event" config. $app->events; // obtain an EventCollection instance created with the "event" config.
Attaching event hooks using the event
config
The event
config can be used to define event hooks.
The following example demonstrates how an application can attach event hooks to be notified when nodes are saved (or nodes subclasses), and when an authentication exception is thrown during the dispatch of a request.
<?php // config/event.php namespace App; use ICanBoogie; use Icybee; $hooks = Hooks::class . '::'; return [ Icybee\Modules\Nodes\SaveOperation::class . '::process' => $hooks . 'on_nodes_save', ICanBoogie\HTTP\AuthenticationRequired::class . '::rescue' => $hooks . 'on_authentication_required_rescue' ];
Requirements
The package requires PHP 7.2 or later.
Installation
composer require icanboogie/bind-event
Documentation
The package is documented as part of the ICanBoogie framework documentation. You can
generate the documentation for the package and its dependencies with the make doc
command. The
documentation is generated in the build/docs
directory. ApiGen is required.
The directory can later be cleaned with the make clean
command.
Testing
Run make test-container
to create and log into the test container, then run make test
to run the
test suite. Alternatively, run make test-coverage
to run the test suite with test coverage. Open
build/coverage/index.html
to see the breakdown of the code coverage.
License
icanboogie/bind-event is released under the New BSD License.