如何摆脱这种循环依赖?

F21*_*F21 6 php circular-dependency

我目前正在编写一些类来处理PHP Web应用程序中的本地化.

课程是:

  • 区域设置 - 处理设置和获取用户的区域设置,时区,语言.
  • LocaleFormat - 处理格式化日期,排序规则,货币格式等.
  • 时区 - 负责编制国家/地区的时区列表以及与时区相关的其他功能.
  • LocaleData - 获取区域设置数据,例如地址格式和邮政编码正则表达式等内容.

整个应用程序正常运行,但我需要向Timezone添加更多内容.

这导致了这个问题:Locale需要Timezone的方法,这需要LocaleData的方法,这需要Locale的方法.

我怎样才能打破这种循环依赖?我应该把课程分成小块吗?有没有处理这个问题的模式?

干杯:)

Bre*_*ley 2

如果您只是从其他类调用方法,请先加载所有类,然后才能在类之间调用方法。不要在类文件中执行任何初始化,这应该在“包含”文件的单独“加载器”文件中完成,然后调用 dos 初始化。

如果您获得基于扩展其他类的类的循环依赖项,那么您需要重新考虑整个设置。