Skip to content
Tomáš Jančar edited this page Oct 5, 2015 · 25 revisions

Trinity Notifikace [cz]

Trinity Notification je Symfony bundle pro zpracování změn, které vznikly v entitách (vytvoření, změna či smazání). Podstata je taková, že změny, které vzniknou v entitě jsou pomocí event manageru zpracovány a předány do Entity manageru. Ten pak vyhodnotí (anotace entity), zda má změny dále zpracovat či ne.

###Anotace entity Anotace entity se používají pro definici zdroje (atributy entity) a http metod (post, put, delete). Pokud je vyhodnocena změna entity a souhlasí http metoda dojde ke zpracování entity.

####Zdroj: Jedná se o názvy atributů entity.

Drivery

####Api driver: V současné době je pro notifikace 1 driver - API driver, který změny, které nastaly v entitě předává dál (aplikace A notifikuje aplikaci B).

Základní nastavení:

Entita:

Libovolná entita u které chceme zachytávat změnu.

Source - Zdroj pro notifikaci - atribut nebo metoda.

Methods - http metoda( put, post, delete )

use Trinity\NotificationBundle\Annotations as N; 
/**
 * User
 * @N\Source(columns="id, username, email, firstName, lastName, avatar, locked")
 * @N\Methods(types={"put", "delete"})
 *
 */
 class User {

}

Client

Klient je třída, která je notifikována o změně. Příkladem může být aplikace A, která používá notifikace a chce informovat aplikaci B, že u ní došlo ke změně jména u uživatele.

    class Client implements IClient{
    /**
    * Get notifyUrl.
    *
    * @return string
    */
    public function getNotifyUrl()
    {
        return $this->url.'/'.self::NOTIFY_URI;
    }
}

Clone this wiki locally