设计模式
设计模式解决的是一个特定的问题。它不是一种工具;它只是描述如何解决特定问题的说明或模板。设计模式非常重要,它在编写简洁明了的代码方面发挥着良好的作用。
在 PHP 社区中使用最广泛的设计模式之一是模型视图控制器(MVC)模式。大多数 PHP 框架都是基于这种模式构建的。MVC 建议将业务逻辑和数据操作(即模型)与表现形式(视图)分开。控制器只是在模型和视图之间扮演中间人的角色,使它们之间的通信成为可能。模型和视图之间没有直接通信。如果视图需要任何类型的数据,它会向控制器发送请求。控制器知道如何对该请求进行操作,并在必要时调用模型对数据执行任何操作(获取、插入、验证、删除等)。最后,控制器会向视图发送一个响应。
最佳实践是使用胖模型和瘦控制器。这意味着控制器仅用于对请求执行特定操作,而不执行其他操作。即使在某些现代框架中,验证也会从控制器中移出,在模型级别执行。这些模型对数据执行所有操作。在现代框架中,模型被视为一个层,可以有多个部分,如业务逻辑、创建读取更新删除(CRUD)数据库操作、数据映射器模式和服务等。因此,满负荷的模型和控制器只是坐在那里享受偷懒的工作负荷。
另一种广泛使用的设计模式是工厂设计模式。这种模式只需创建需要使用的对象即可。另一种好的模式是观察者模式(observer pattern),在这种模式中,对象会就其上的特定事件或任务调用不同的观察者。这种模式主要用于事件处理。另一种广泛使用的模式是单例模式,当要求在整个应用程序的执行过程中只使用一个类的单例对象时,就会使用这种模式。单例对象不能序列化和克隆。