Olay İşleme Kütüphanesi
"Settings/CDNLinks.php yapılandırma dosyası altında yer alan 'script' ve 'style' dizilerine tanımlayacağınız linkleri Import::script() ve Import::style() kütüphaneleri ile birlikte kullanabilirsiniz."
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
# Insert (ZN >= 5.6.3)
Olay eklemek veya sıraya sokmak için kullanılır.
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 |
İ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 |
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.
String | $eventName | Çalıştırılacak olayın ismi. |
Array | $parameters = [] | Olaylara ortak parametre göndermek için kullanılır. |
Return | Bool |
Events::insert('example', function()
{
echo 1;
}, 2)::insert(function()
{
echo 2;
}, 1)
Events::run('example');
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.
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();
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.
String | $eventName | Olayın adı. |
Return | Array |
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.
Void | ||
Return | Array |
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.
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 |
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.
Void | ||
Return | Bool |
Events::deleteListeners();