Parametreli Event Listeners kullanımında hata alıyorum, bulmuyor.

Merhabalar,
Üye kayıt sistemim bulunuyor, üye kayıt olduktan sonra bir listener çalıştırıp kullanıcıya aktivasyon maili göndermek istiyorum. Aşağıda ki şekilde tanımlama yapıyorum fakat hata veriyor. Yardımcı olur musunuz ?

Services Sayfası

<?php
'listeners' => [
'sampleEvent' => [
AppListenersSampleListener::class,
],
'userEvent' => [
AppListenersUserActivationListener::class
]
]
?>


Kayıt Sayfası

<?php
Event::trigger('userEvent',[$loginEmail]);
?>


UserActivationListener.php

<?php
namespace AppListeners;

use Log;
use Session;

class UserActivationListener
{

public function handle($loginEmail)
{
Log::info('Aktivasyon listener çalıştırıldı - {UserActivationListener});
echo $loginEmail;
}

}


Aldığım hata ise;
method_exists() expects parameter 2 to be string, array given

Cevaplar (2)


Turan Karatuğ
Software Developer - Creator of TitanMVC
3 ay önce

Bir event çalıştırırken listener içerisindeki method ismini, parametre olarak vermeniz gerekiyor. Burada bir hata yapmışım, sonraki sürümde düzelteceğim. Siz şimdilik aşağıdaki şekilde kullanabilirsiniz;
Event::trigger('userEvent', 'handle', [$loginEmail]);
Turan Karatuğ
Software Developer - Creator of TitanMVC
2 ay önce

v2.2.1 sürümü ile bu sorun çözüldü.
http://v2.titanphp.com/doc/event

Cevap Yazın


[code=php,css,sql]kod[/code] , [url=http:...com] , [img=imaj linki] , [color=renk_kodu]metin[/color]