0

我们即将将主站点的软件升级到 smarty3。一切正常,除了使用 smarty2 的 gallery2 的嵌入式版本。

它是这样包含的:

require_once('../../gallery2/embed.php');

嵌入的 gallery2 自动扩展了我们主站点的 smarty3 类(smarty2 和 3 使用相同的类名)。所以gallery2现在像smarty2一样使用smarty3,它不起作用。

在这种情况下,smarty2 和 smarty3 可以和平共存吗?

  • 重命名两个 smarty 类之一......失败(破坏 smarty 内部的东西)
  • 尝试使用 smarty3 兼容函数扩展 gallery2 的模板对象...失败
  • 是的,命名空间将是解决方案,但由于 smarty 不会开箱即用地使用它们......

非常感谢您的帮助

4

1 回答 1

0

我用肮脏的方式解决了它。通过将 smarty2 重构为不同的类名 + 重命名所有包含的函数(它们都在一个单独的函数中),将 smarty2 与 smarty3 分开 + 使用我重命名的函数编译代码的一些更改。不漂亮。但有效。

于 2012-08-07T06:35:37.237 回答