■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: イベントリスナーを使っているプラグインのテスト

ryuring > Re: イベントリスナーを使っているプラグインのテスト @ 2018/8/21 15:22
こんにちは、再現できました。

やはり、Mcc プラグインは、MemberAdmin プラグインに依存すべきではないので、Mcc単独で動作する事が望ましいと思います。
依存した前提のテストは、MemberAdmin 側に書くべきですね。
やり方としては、次の2パターンしかないと思います。

- baserCMSの管理画面からプラグインをオフにする。
- イベントをデタッチする。

また、イベントのデタッチが調べて見たところやり方が面倒くさいですね。
detachの第一引数をどっから持ってくるのかという。。。

取り急ぎ、デタッチが成功したのでコードを共有しておきます。
他の簡単なやり方がありましたら教えて下さい。

$eventName = 'LayerName.PluinName.ModelName.eventName';
$listeners = CakeEventManager::instance()->listeners($eventName);
foreach($listeners as $listener) {
	if(!empty($listener['callable'])) {
		CakeEventManager::instance()->detach($listener['callable'], $eventName);
	}
}



Hoge プラグイン、Fuga モデルの、afterFindイベントの $eventName の例としては、以下のようになります。

Model.Hoge.Fuga.afterFind

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
18 人のユーザが現在オンラインです。 (17 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 18