2009-09-01 40 views
0

在我的应用程序中,我必须调用Propel库1.2版(位于directoryA),另一方面,我需要调用Propel库版本1.3(位于directoryB)。PHP在应用程序的不同位置调用不同的库

如何做到这一点?

编辑:我需要这个,因为我使用的组件使用我使用的库的旧版本。

回答

1

这是不可能的,因为Propel的两个版本都有同名的类(比如“Propel”)。 PHP不允许重新定义(或未定义)类。

最好的办法是鼓励使用Propel 1.2的组件的制造商进行升级。或者,您可以自己尝试,因为Propel界面并没有真正改变。

编辑:当然有一些繁琐的解决方法:一个是将依赖于Propel 1.2的组件转换成某种单独的服务,这在理论上可以单独从互联网上调用。然后,使用virtual()(如果你在Apache上)向这个组件发出一个单独的请求。这将在新的Apache线程/进程中启动一个新的PHP会话,所以不存在命名冲突。如果您需要每个页面请求仅查询几次组件,则开销可能没有问题。

相关问题