【问题标题】:How to protect a class in PHP如何保护 PHP 中的类
【发布时间】:2011-12-05 04:37:53
【问题描述】:

我们在一个带有插件的 PHP 项目上工作。我们的插件包括一个开源类。

另一个插件使用这个相同的类。

如果两个插件包含相同的类,PHP 将抛出“无法重新声明类”错误。

我们不能询问 class_exists 是否存在,因为我们想使用我们的类文件,因为其他插件可能使用较旧或较新的版本。

我们也不想重命名类,因为我们希望类文件以后可以轻松升级到新版本。

我们无法更改其他插件,所以在包含此文件时我们可以做些什么来避免错误?

【问题讨论】:

    标签: php class protected


    【解决方案1】:

    最好的解决方案是将这两个类放在不同的namespaces 中,但这仅受 PHP 5.3 支持。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      检查这个问题的第二个答案。我认为这将是PHP Fatal error: Cannot redeclare class 的问题。 希望它会有所帮助。

      祝你有美好的一天......

      【讨论】:

        【解决方案4】:

        使用 require_once() 而不是 include()(或使用自动加载器)

        【讨论】:

          猜你喜欢
          • 2021-05-07
          • 2011-06-06
          • 2011-08-20
          • 2018-07-01
          • 1970-01-01
          • 2014-10-10
          • 2011-04-30
          • 2011-06-10
          • 1970-01-01
          相关资源
          最近更新 更多