Add php implementation: observer, proxy, singleton, state, visitor