如何在PHP中保护类

时间:2011-10-11 10:30:15

标签: php class protected

我们正在开发一个包含插件的PHP项目。我们的插件包括一个开源类。

另一个插件使用同一个类。

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

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

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

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

4 个答案:

答案 0 :(得分:3)

最好的解决方案是将两个类放在不同的namespaces中,但这只能从PHP 5.3中获得支持。

答案 1 :(得分:2)

答案 2 :(得分:0)

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

度过愉快的一天......

答案 3 :(得分:0)

使用require_ 一次()而不是include()(或使用自动加载器)