gpt4 book ai didi

PHP 观察者模式(推送策略)

转载 作者:行者123 更新时间:2023-12-04 18:13:01 25 4
gpt4 key购买 nike

我需要在 PHP 中实现一个观察者设计模式。标准的问题 SplObserver 接口(interface)是它的更新(SplSubject $subject) 方法不支持提供我需要的其他参数。

我必须像这样创建自己的界面吗?

interface PushObserver {
public function update($sender, array $pushData);
}

还是有一种更标准的方式不需要我的类的用户实现我自己的接口(interface)?我知道我不是唯一一个处理这个问题的人,但我还没有找到一篇关于这个问题的文章。

最佳答案

不知道要求$pushData对你来说是否真的很重要在您的观察者中,但如果它只是可选的,您仍然可以实现或扩展 SplObserver , 但使 $pushData可选的,它可以让你这样做:

class PushObserver implements SplObserver {
public function update (SplSubject $SplSubject, Array $pushData = null) {}
}

或者:
interface PushObserver extends SplObserver {
public function update (SplSubject $SplSubject, Array $pushData = null);
}

关于PHP 观察者模式(推送策略),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com