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