PHP在应用程序的不同位置调用不同的库

时间:2009-09-01 09:06:48

标签: php

在我的应用程序中,我必须调用Propel库版本1.2(位于目录A),在另一点上,我需要调用Propel库版本1.3(位于目录B)。 / p>

怎么做?

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

1 个答案:

答案 0 :(得分:1)

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

最好的办法是鼓励使用Propel 1.2的组件的制造商进行升级。或者,您可以自己尝试,因为Propel界面实际上没有太大变化。

编辑:当然有繁琐的解决方法:一种是将依赖于Propel 1.2的组件转换为某种单独的服务,理论上可以从互联网上单独调用。然后,使用virtual()(如果您在Apache上)对该组件发出单独的请求。这将在新的Apache线程/进程中启动一个新的PHP会话,因此没有命名冲突。如果每页请求只需要查询组件几次,那么开销就可以了。