qq_慕斯卡6187973
xingkong8
不是抽象类,你怎么实现多态呢,你想想~
慕娘8501819
就是把参数都丢进一个数组里面,然后统一只传这个数组,比如
<?php $notify_arr_fst = [ 'reg_name' => 'zhangsan', 'reg_time' => '20190926', ]; $notify_arr_sec = [ 'reg_name' => 'zhangsan', 'reg_ip' => '192.168.1.2', 'reg_area' => '银河半人马', ]; $this->notify($notify_arr_fst); $this->notify($notify_arr_sec);
慕仔7564882
tp的钩子不就是观察者模式吗?
krui0728
看到了,多谢,这个是参数约束的问题,已经找到了
dwyyy
如果不用观察者的话就需要在那个函数里一直加代码,各种逻辑混合在一起。但是用观察这就可以不修改原来的代码,只是增加新类和实例,在项目中逻辑更清楚。可扩展行将会更好,也方便测试。修改代码往往会带入新的bug。
cookies1992
我理解的观察者模式。
比如用户下单了:
1、给用户邮箱发邮件
2.给网站管理员发邮件
3.订单系统更新
4.其他一些订单相关日志更新。。。
这样比较适合用观察者
。
qq_杰_66
我觉得不一定,可以使用数组同时保存对象和方法名,一个做键一个做值,但是有键重复问题。或者可以同时维护两个数组呀一个数组保存方法一个保存对象
创业通讯社
lovePhper
这是类型限定语法,传入的$observer参数必须是实现了Observer接口的对象。
慕慕309619
抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。
如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过