许多PHP系统将实现对象类型(例如模型),允许客户端程序员在他们自己的类中定义类似这样的方法
class Car extends Model
{
public function _afterSave()
{
//do something every-time this model is saved
}
}
在文档和教程中,这种模式通常作为“观察者/监听者”模式引入。
但是,虽然您可以将这些方法描述为侦听父类的操作,但这似乎与经典的OOP observer pattern非常不同。
是否存在允许客户端程序员定义这些前/后方法的模式的正式名称,或者这只是早期PHP开发人员在语言开发其类似OOP的java / C#之前开辟的东西?
答案 0 :(得分:5)
假设调用这些方法是由Model或frameowrk的其他部分(我不知道PHP)执行的,这就是模板方法模式,其中作为扩展点的方法经常被称为钩子