Olay İşleme Kütüphanesi


    × Bunları biliyor muydunuz?
"Devtools projesi ile framework kullanma deneyiminizi daha görsel hale getirebilirsiniz."


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


This insert(Mixed $eventName = NULL, Mixed $callback = NULL, Int $priority = NULL)
Bool run(String $eventName, Array $parameters = [])
Array selectListener(String $eventName)
Array selectListeners(Void)
Bool deleteListener(String $eventName, Mixed $callback = NULL)
Bool deleteListeners(Void)

 

 

# Insert (ZN >= 5.6.3)


Olay eklemek veya sıraya sokmak için kullanılır.

Parametreler - Standart Kullanım
String $eventName Eklenecek olayın adı.
Callable $callback Olayın çalıştıracağı geri çağrım işlevi.
Int $priority = NULL Geri çağrım işlevinin önceliği. Belirtilmezse olaylar oluşturulma sırasına göre devreye girer.
Return This
Parametreler - Zincirleme Kullanım

İlk Events::insert() işleminden sonra aynı olaya yeniden ekleme gereken durumlarda kullanılabilir.

Callable $callback Olayın çalıştıracağı geri çağrım işlevi.
Int $priority = NULL Geri çağrım işlevinin önceliği. Belirtilmezse olaylar oluşturulma sırasına göre devreye girer.
Return This
Kullanım
 Events::insert('example', 'Example/test') # Kontrolcü çalıştırılabilir.
       ::insert(function()                 # Geri çağrım işlevi uygulanabilir.
       { 
           # Diğer işlev
       })
       ::insert('File::create')            # Kütüphane kulanılabilir.

 

 

# Run / __Call (ZN >= 5.6.3)


Eklenen olayları çalıştırmak için kullanılır.

Parametreler
String $eventName Çalıştırılacak olayın ismi.
Array $parameters = [] Olaylara ortak parametre göndermek için kullanılır.
Return Bool
Kullanım
Events::insert('example', function()
{
    echo 1;
}, 2)::insert(function()
{
    echo 2;
}, 1)

Events::run('example');
2
1

Yukarıdaki kullanımda çalıştırılacak kodlara öncelik değeri verildiği için öncelikle son eklenen olay devreye girdiğine dikkat edin.

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::example();
Konsol ile Kullanımı

Tanımlanan olayları konsol kullanarak devreye sokabilirsiniz.

php zerocore run-class Events:example

 

 

# SelectListener (ZN >= 5.6.3)


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

Parametreler
String $eventName Olayın adı.
Return Array
Kullanımlar
var_dump(Events::selectListener('example'));

 

 

# SelectListeners (ZN >= 5.6.3)


Tüm olayların dizi türünde çıktısını almak için kullanılır.

Parametreler
Void
Return Array
Kullanımlar
var_dump(Events::selectListeners());

 

 

# DeleteListener (ZN >= 5.6.3)


Olaya eklenen geri çağrım işlevlerinin tamamını veya bir kısmını silmek için kullanılır.

Parametreler
String $eventName Olayın adı.
Mixed $callback Bu parametre boş geçilirse olaya bağlı tüm alt işlevleri kaldırır. Bir olaya bağlı belli bir işlevi kaldırmak isterseniz işlevi Events::insert() yönteminde tanımlandığınız gibi kullanmanız gerekir.
Return Bool
Kullanımlar
Events::deleteListener('example', 'Example/test');

Tüm alt geri çağrım işlevlerini silmek için 2. parametreyi boş bırakmanız yeterlidir.

Events::deleteListener('example');

Geri çağrım işlevlerinde silme yaparken silinecek işlevi ayırmak için farklı isimli veya dizilimli parametreler kullanın.

Events::insert('example', function($example1 = NULL)
{
    # Kodlarınız...
})::insert(function($example2 = NULL)
{
    # Kodlarınız...
});

Events::deleteListener('example', function($example2 = NULL){});

 

 

# DeleteListeners (ZN >= 5.6.3)


Tüm olayları silmek için kullanılır.

Parametreler
Void
Return Bool
Kullanımlar
Events::deleteListeners();