PHPackages                             jeroendelau/as3-signals - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. jeroendelau/as3-signals

ActiveLibrary

jeroendelau/as3-signals
=======================

v0.8.0(10y ago)019ActionScript

Since Sep 24Pushed 10y ago1 watchersCompare

[ Source](https://github.com/jeroendelau/as3-signals)[ Packagist](https://packagist.org/packages/jeroendelau/as3-signals)[ RSS](/packages/jeroendelau-as3-signals/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (3)Used By (0)

Signals: Think Outside the Event.
=================================

[](#signals-think-outside-the-event)

**Signals** are light-weight, strongly-typed AS3 messaging tools.
Wire your application with better APIs and less boilerplate than AS3 Events.

Concept
-------

[](#concept)

- A **Signal** is essentially a mini-dispatcher specific to one event, with its own array of listeners.
- A Signal gives an event a concrete membership in a class.
- Listeners subscribe to real objects, not to string-based channels.
- Event string constants are no longer needed.
- Signals are inspired by [C# events](http://en.wikipedia.org/wiki/C_Sharp_syntax#Events) and [signals/slots](http://en.wikipedia.org/wiki/Signals_and_slots) in Qt.

Syntax
------

[](#syntax)

```
// with EventDispatcher
button.addEventListener(MouseEvent.CLICK, onClick);

// Signal equivalent; past tense is recommended
button.clicked.add(onClicked);

```

I am still looking for impressions, critiques and suggestions.
My email is robert *at* robertpenner.com.
I’m [@robpenner on Twitter](http://twitter.com/robpenner).

Background on AS3 Events
------------------------

[](#background-on-as3-events)

- [My Critique of AS3 Events – Part 1](http://robertpenner.com/flashblog/2009/08/my-critique-of-as3-events-part-1.html)
- [AS3 Events – 7 things I’ve learned from community](http://robertpenner.com/flashblog/2009/09/as3-events-7-things-ive-learned-from.html)
- [My Critique of AS3 Events – Part 2](http://robertpenner.com/flashblog/2009/09/my-critique-of-as3-events-part-2.html)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3883d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/76caab2626cdfa35e2b169e284e6975c83b495f659cd1b21539d4b904f2af071?d=identicon)[jeroendelau](/maintainers/jeroendelau)

---

Top Contributors

[![joa](https://avatars.githubusercontent.com/u/141269?v=4)](https://github.com/joa "joa (45 commits)")[![neilmanuell](https://avatars.githubusercontent.com/u/249941?v=4)](https://github.com/neilmanuell "neilmanuell (13 commits)")[![jonopus](https://avatars.githubusercontent.com/u/439554?v=4)](https://github.com/jonopus "jonopus (11 commits)")[![lukebayes](https://avatars.githubusercontent.com/u/4817?v=4)](https://github.com/lukebayes "lukebayes (11 commits)")[![sammyt](https://avatars.githubusercontent.com/u/27435?v=4)](https://github.com/sammyt "sammyt (9 commits)")[![timkurvers](https://avatars.githubusercontent.com/u/378235?v=4)](https://github.com/timkurvers "timkurvers (7 commits)")[![jeroendelau](https://avatars.githubusercontent.com/u/5286898?v=4)](https://github.com/jeroendelau "jeroendelau (4 commits)")[![alecmce](https://avatars.githubusercontent.com/u/107876?v=4)](https://github.com/alecmce "alecmce (2 commits)")[![destroytoday](https://avatars.githubusercontent.com/u/158963?v=4)](https://github.com/destroytoday "destroytoday (2 commits)")[![robertpenner](https://avatars.githubusercontent.com/u/79827?v=4)](https://github.com/robertpenner "robertpenner (2 commits)")[![santiagopuentep](https://avatars.githubusercontent.com/u/137173?v=4)](https://github.com/santiagopuentep "santiagopuentep (1 commits)")[![vitch](https://avatars.githubusercontent.com/u/9898?v=4)](https://github.com/vitch "vitch (1 commits)")[![ZackPierce](https://avatars.githubusercontent.com/u/387703?v=4)](https://github.com/ZackPierce "ZackPierce (1 commits)")

### Embed Badge

![Health badge](/badges/jeroendelau-as3-signals/health.svg)

```
[![Health](https://phpackages.com/badges/jeroendelau-as3-signals/health.svg)](https://phpackages.com/packages/jeroendelau-as3-signals)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
