我在使用PHP中的面向对象编程方面相对较新。它在组织和维护我的代码方面非常有帮助,但我想更好地设计我的类并尽可能高效地使用面向对象编程。我已经阅读了《设计模式》一书,但仍需要一些帮助。在构建了几个小应用程序后,我发现一个问题。
假设我正在构建一个跟踪学校招生信息的应用程序。
目前我会采用以下方式:创建一个名为student
的类,并在该类中编写用于CRUD单个学生记录的方法。显然,我需要在这个类中的构造函数方法中以student_id
作为参数,这样我就可以在对象内部引用它以进行所有不同的CRUD操作。
但是,当我继续构建应用程序时,我会遇到需要运行返回多个学生的查询的情况。例如,像get_all_students_from_grade($grade)
、get_dropdown_of_all_students()
等。这些方法不仅适用于一个学生,因此似乎很奇怪我会将它们作为我的student
类中的方法,因为我实例化对象时只考虑了一个student_id
。显然,我可以这样做,但似乎我是“做错了”。有什么最佳方法来解决这个问题?