add php design pattern