Event Kütüphanesi

Event kütüphanesi, uygulamada gerçekleşen çeşitli olayların hemen ardından, ilgili olaya tanımlanan listener'ların otomatikman çalıştırılmasını sağlar.

Örneğin bir kullanıcıya, sisteme kaydolmasının ardından aktivasyon kodu gönderilmesi ve kullanıcı rolü atanması için bir event oluşturulabilir.

  1. Event Tanımlama
  2. Listener Oluşturma
  3. Event Çalıştırma » trigger()

Event Tanımlama

Titan Framework'te event'lar /App/Config dizininde yer alan Services.php dosyasındaki listeners anahtarında tanımlanırlar.

//--- [*] App/Config/Services.php ---//
'listeners'	=> [
	'sampleEvent' => [
		'App\Listeners\SampleListener',
	],
],

Yukarıdaki örnekte, sampleEvent adında bir event ve bu event'e ait SampleListener listener'ı tanımlanıyor.

Listener Oluşturma

Titan Framework'te listener'lar /App/Listeners dizini içerisinde yer alırlar. Tanımlandıkları event tetiklendiği anda listener'da bulunan handle() methodu çalıştırılır.

//--- [*] App/Listeners/SampleListener.php ---//
namespace App\Listeners;

class SampleListener
{
	public function handle()
	{
		echo 'Listener çalıştırıldı';
	}
}

Event Çalıştırma

Tanımlanan bir event'i çalıştırmak için trigger() methodu kullanılır. Çalıştırılacak event ve listener'a gönderilecek parametreleri içeren bir adet dizi değişkeni parametre olarak alır.

Parametre Veri Tipi Açıklama
$event String Çalıştırılacak event
$params Array Gönderilecek parametreler
// Parametresiz kullanım
Event::trigger('sampleEvent');

// Parametreli kullanım
Event::trigger('sampleEvent', ['var_1', 'var_2']);

Yukarıdaki örnekte ilk kod, sampleEvent'a tanımlanan listenerları parametre göndermeden çalıştırır. İkinci kod ise sampleEvent'a tanımlanan listenerları var_1 ve var_2 parametrelerini göndererek çalıştırır.