PHP类重新定义澄清

时间:2010-10-19 15:35:49

标签: php class oauth

我有一个我为PHP编写的LinkedIn API类,它使用第三方独立OAuth类,而不是可能安装的PECL PHP OAuth扩展。我这样设计它是为了让许多用户没有能力/访问权来安装PECL扩展来进行所需的OAuth调用。

因此,对于没有安装PECL扩展的PHP安装,一切都很完美。问题出现在服务器上,DO安装了PECL扩展...实例化第三方OAuth类会产生重新定义错误,因为PECL扩展和第三方类都将其类称为“OAuth”。

让我的课程足够灵活以支持这两种情况会很棒,但当然两个冲突的课程有不同的方法名称等。

我知道简单的答案是告诉别人我的图书馆仅适用于没有安装PECL扩展程序的服务器上的那些情况,但我想知道是否还有其他解决方案。

2 个答案:

答案 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");