Eventy v Nette a \Kdyby\Events

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lunak83
Člen | 47
+
0
-

Ahoj,

mám komponentu, která má listener např. onEventOccured.

Potřeboval bych zajistit, aby uživatel v presenteru musel s tímto Eventem pracovat, tedy např.

$control = new Foo($bar);
$control->onEventOccured[] = function ($baz) {
    echo "Some value " . $baz->value;
};

Jak můžu v komponentě ověřit, že callback na onEventOccured existuje?

Měl jsem variantu s empty($this->onEventOccured), což ale po nasazení Kdyby/Events pro rozšíření na NewRelic není empty pole.

Díky

Editoval lunak83 (26. 6. 2015 16:02)

Filip Procházka
Moderator | 4668
+
+3
-

Event objekt implementuje Countable

if (count($control->onEventOccured) == 0) {
   throw new \LogicException("Chybí callback pro onEventOccured");
}
lunak83
Člen | 47
+
0
-

Díky moc!