在我的应用程序中,我必须调用Propel库版本1.2(位于目录A),在另一点上,我需要调用Propel库版本1.3(位于目录B)。 / p>
怎么做?
编辑:我需要这个,因为我使用的组件使用了我使用的旧版本的库。
答案 0 :(得分:1)
这是不可能的,因为两个版本的Propel都有相同名称的类(例如“Propel”)。 PHP不允许重新定义(或取消定义)类。
最好的办法是鼓励使用Propel 1.2的组件的制造商进行升级。或者,您可以自己尝试,因为Propel界面实际上没有太大变化。
编辑:当然有繁琐的解决方法:一种是将依赖于Propel 1.2的组件转换为某种单独的服务,理论上可以从互联网上单独调用。然后,使用virtual()(如果您在Apache上)对该组件发出单独的请求。这将在新的Apache线程/进程中启动一个新的PHP会话,因此没有命名冲突。如果每页请求只需要查询组件几次,那么开销就可以了。