在我努力用 OOP 重写我过去的项目时,我将代码分解为设备、设施等类。
在转向更加面向对象的方法之前,我只是将所有辅助函数放入包含的“functions.php”文件中。以 Devices 为例,最好为我的对象特定属性/方法创建一个 Devices 类,然后使用一个 DeviceManager 类来存储 getDeviceByName、getDeviceByID 等函数?
据我了解,OOP 更多的是关于可读性/可管理性而不是其他任何东西,为什么我认为目的只是用类似 DeviceManager::GetDevice("Computer1") 的东西来代替 GetDeviceByName("Computer1")
在 C# 或 Java 等 OOP 语言中,您不能在类之外使用函数,因此没有问题。这并不意味着你正在做 OOP,这是一种心态。
在 PHP 中,您可以将相关函数放入命名空间或类中(命名空间内)。这取决于你,没有正确或错误的方法。就我个人而言,我会将它们放入一个类中,因为这就是我在 C# 中执行此操作的方式,并且它将对提高工作效率有所帮助:我将相关功能分组到一个位置(类)。更容易管理。
但严格从编程的角度来看,没有什么区别,你的代码不会更干净/解耦或更面向对象,因为你已经将函数放入类或命名空间中