bviguier/siglot

Signal and Slots for PHP

0.1.0 2024-08-27 16:08 UTC

This package is auto-updated.

Last update: 2024-11-27 16:47:00 UTC


README

Signals and slots is a mechanism introduced in Qt for communication between objects. It makes it easy to implement the observer pattern while avoiding boilerplate code. Siglot aims to provide similar features for the PHP language, with particular attention to Developer Experience (DX):

  • Easy to write, utilizing the first-class callable syntax
  • Compatible with existing auto-completion
  • Compatible with static analysis tools
  • No side effects with references

It can be regarded as an alternative to callbacks or event dispatchers, and it's particularly suited for event-driven programming, to decouple events' sender and receiver.

For more information, see the documentation.

Local Development

You can use dedicated Docker containers:

make build up bash-8.3

See make help for more information. Once you are in a suitable environment, use composer scripts to run tests, etc. (see composer list).