PHPackages                             vojtech-dobes/nette-signals-trait - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. vojtech-dobes/nette-signals-trait

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

vojtech-dobes/nette-signals-trait
=================================

Learn any of your Nette components to understand signals!

92.5kPHP

Since Feb 11Pushed 12y ago1 watchersCompare

[ Source](https://github.com/vojtech-dobes/nette-signals-trait)[ Packagist](https://packagist.org/packages/vojtech-dobes/nette-signals-trait)[ RSS](/packages/vojtech-dobes-nette-signals-trait/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

For Nette Framework
-------------------

[](#for-nette-framework)

Learn any of your components to understand signals!

##### License

[](#license)

New BSD

##### Dependencies

[](#dependencies)

- PHP 5.4
- Nette 2.0.0

Installation
------------

[](#installation)

Get the source code from Github or via Composer (`vojtech-dobes/nette-signals-trait`).

Usage
-----

[](#usage)

1.. Make your component (implementation of `Nette\ComponentModel\IComponent`) implement `Nette\Application\UI\ISignalReceiver` interface.

```
class AutocompleteField extends Nette\Forms\Controls\TextInput implements Nette\Application\UI\ISignalReceiver
```

2.. Use `Nextras\Signals\Receiver` trait in your component .

```
use Nextras\Signals\Receiver;
```

3.. Register signals:

```
public function __construct()
{
	$this->__signals()->addSignal('autocomplete', function (Nette\Application\UI\Presenter $presenter, $phrase) {
		$presenter->sendJson( ... );
	});
}
```

Now the component supports signal `autocomplete`, in same way as `handleAutocomplete()` method would work in your component inheriting `Nette\Application\UI\Control`.

You will probably also need to create link to it:

```
$this->__signals()->createLink('autocomplete', 'testPhrase');
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/920689f25a0fc31b2807556eddd47203f33c4318893bce98818cf2f3e627ee8e?d=identicon)[vojtechdobes](/maintainers/vojtechdobes)

---

Top Contributors

[![vojtech-dobes](https://avatars.githubusercontent.com/u/415925?v=4)](https://github.com/vojtech-dobes "vojtech-dobes (4 commits)")

### Embed Badge

![Health badge](/badges/vojtech-dobes-nette-signals-trait/health.svg)

```
[![Health](https://phpackages.com/badges/vojtech-dobes-nette-signals-trait/health.svg)](https://phpackages.com/packages/vojtech-dobes-nette-signals-trait)
```

PHPackages © 2026

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