我们正在开发一个包含插件的PHP项目。我们的插件包括一个开源类。
另一个插件使用同一个类。
如果两个插件包含相同的类,PHP将抛出“无法重新声明类”错误。
我们不能问是否class_exists因为我们想要使用我们的类文件,因为其他插件可能使用旧版本或更新版本。
我们也不想重命名该类,因为我们希望稍后可以将类文件轻松升级到更新版本。
我们无法更改其他插件,因此在包含此文件时我们可以做些什么来避免错误?
答案 0 :(得分:3)
最好的解决方案是将两个类放在不同的namespaces中,但这只能从PHP 5.3中获得支持。
答案 1 :(得分:2)
答案 2 :(得分:0)
检查这个问题的第二个答案。我认为这将是问题PHP Fatal error: Cannot redeclare class。 希望它会有所帮助。
度过愉快的一天......
答案 3 :(得分:0)
使用require_ 一次()而不是include()(或使用自动加载器)