我有一个我为PHP编写的LinkedIn API类,它使用第三方独立OAuth类,而不是可能安装的PECL PHP OAuth扩展。我这样设计它是为了让许多用户没有能力/访问权来安装PECL扩展来进行所需的OAuth调用。
因此,对于没有安装PECL扩展的PHP安装,一切都很完美。问题出现在服务器上,DO安装了PECL扩展...实例化第三方OAuth类会产生重新定义错误,因为PECL扩展和第三方类都将其类称为“OAuth”。
让我的课程足够灵活以支持这两种情况会很棒,但当然两个冲突的课程有不同的方法名称等。
我知道简单的答案是告诉别人我的图书馆仅适用于没有安装PECL扩展程序的服务器上的那些情况,但我想知道是否还有其他解决方案。
答案 0 :(得分:1)
从它的声音来看,PECL类和你的不兼容,所以显而易见的解决方案是重命名你的或者将它移到一个单独的Namespace(PHP> = 5.3仅!)。 / p>
如果它们应该兼容,那么只有在未定义PECL类时,您还可以包含OAuth包含:
if (!class_exists("OAuth"))
require "/path/to/your/oauth.php";
答案 1 :(得分:0)
不知道这是否有效但可能
require_once("/path/to/your/oauth.php");