PHP插件对N个类的支持最终扩展到一个类


PHP Addon support N no of Classes finally extend to one class

我正在进行一个开源项目。

我的代码应该支持插件功能。

我有6到7个客户端处理类,它们最终扩展到一个名为"客户端"的类

class client1{}
class client2 extends client1{}//contacts
class client3 extends client2{}//files
...
class clients extends client9{}//msging

这不是正确的方法。(仍在寻找更好的方法)

这个脚本应该支持插件。说一个插件有几个类

class clientUserManagement{}

那么它在中应该是可控的

class clients{}

每个类处理客户端系统的不同区域。现在将所有类扩展到一个类。通过使用method_exist(),调用所需的功能。

重要

  • 这些类不共享任何属性
  • 所有与客户端相关的功能都应按类型分组在单独的文件中
  • 如果所有类最终都控制在一个类名下,那么使用method_exist()只运行与客户端相关的函数是安全的

这是更好的结构方式,以便它支持插件函数。

您应该将事物拆分为encapsualte功能,然后使类相互交互。我还将把基本的东西抽象为更通用的类,这些类将在其他地方使用。

客户端

  • 有一个联系人集合-ClientContactCollection
  • 有一个文件集合-ClientFileCollection
  • 有一个消息集合-ClientMessageCollection

客户联系

  • 扩展通用联系人

客户端文件

  • 扩展通用文件

客户端消息

  • 扩展通用消息