Olay İşleme Kütüphanesi


    × Bunları biliyor muydunuz?
"Basit bir konsol komutu ile projenin orijinal haline dokunmadan restorasyon çalışması yapabilirsiniz."


Olay işleme belli işlemleri yerine getirecek kodları sıraya sokma ve çalıştırma işlemidir. Bazı durumlarda belirli kodların çalışması başka kodların çalışmasına bağlı olarak devreye girmesi gerekebilir. İşte bu gibi durumlarda bu kütüphane yardımınıza yetişiyor. İsterseniz Crontab:: kütüphanesi ile birlikte kullanarak zamana bağlı olarak olaya konu olmuş kodların tetiklenmesini sağlayabilirsiniz.

 

 

# Kurulum


ZN dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-event-handler

 

 

# Yöntemler


Events::create(string $event) : void
Events::run(string $event, array $parameters = []) : bool
Events::get(string $event, int $priority = NULL) : array | callable
Events::remove(string $event, int $priority = NULL) : bool

 

 

# Create (Paket[6.0.2][2021-01-28])


Oluş oluşturmak için kullanılır.

Parametreler

string $event Eklenecek olayın adı.

Alt Yöntemler

Events::callback(callable $callback, int $priority = NULL)
callable $callback Çalıştırılacak kodlar.
int $priority = NULL Çalıştırma sırası. Bu değer belirtilmezse kodlar yazılma sırasına göre çalıştırılır.

Kullanım

Events::callback(function()
{
    File::delete('a.txt'); # 3. olarak çalıştırılacak.

}, 3)::callback(function()
{
    File::write('a.txt', 'Example Content A'); # 2. olarak çalıştırılacak.

}, 2)::callback(function()
{
    File::create('a.txt'); # 1. olarak çalıştırılacak.

}, 1)::create('FileProcessEvent');

Yukarıdaki örnek kodda dosya üzerinde gerçekleşecek işlemleri tanımladık ve sıralamasını belirttik

 

 

# Run / __Call (ZN >= 5.6.3)


Oluşturulan olay kümesini çalıştırmak için kullanılır

Parametreler

string $event Çalıştırılacak olayın ismi.
array $parameters = [] Olaylara ortak parametre göndermek için kullanılır.
return bool

Kullanım

Events::run('FileProcessEvent');
1. create a.txt file
2. write  a.txt file
3. delete a.txt file

[$parameters]

Events::callback() yöntemi ile çağrılan işlevlere parametre göndermek için kullanılır.

Events::callback(function($file)
{
    File::delete($file); # 3. olarak çalıştırılacak.

}, 2)::callback(function($file)
{
    File::create($file);

}, 1)::create('FileEvent');

Events::run('FileEvent', ['a']);
Sihirli Çağrım

Bu yöntem __call() sihirlisi ile de desteklenmektedir. Yani tanımlanan olay ismi doğrudan yöntem gibi de çalıştırılabilir. 

Events::FileProcessEvent();
Konsol ile Kullanımı

Tanımlanan olayları konsol kullanarak devreye sokabilirsiniz.

> php zerocore run-class Events:FileProcessEvent

 

 

# Get (Paket[6.0.2][2021-01-28])


Olaya eklenen geri çağrım işlevlerinin dizi türünde çıktısını almak için kullanılır.

Parametreler

string $event Olayın adı.
int $priority = NULL Hangi çağrım işlevi. Bu değer belirtilirse ilgili işlev[ callable ] belirtilmezse olay kümesi[ array ] döner.
return array | callable

Kullanımlar

$events = Events::get('FileProcessEvent'); # return array

[$priority]

$callback = Events::get('FileProcessEvent', 1); # return callable

 

 

# Remove (Paket[6.0.2][2021-01-28])


Olaya eklenen geri çağrım işlevlerinin dizi türünde çıktısını almak için kullanılır.

Parametreler

string $event Olayın adı.
int $priority = NULL Hangi çağrım işlevi. Bu değer belirtilirse ilgili işlev belirtilmezse olay kümesi silinir.
return bool

Kullanımlar

Olay kümesini silmek için aşağıdaki gibi kullanın.

Events::remove('FileProcessEvent');

[$priority]

Sıra numarasına göre olaya ait işlevi silmek için kullanılır.

Events::remove('FileProcessEvent', 1);