我已经制作了几个php脚本作为一个大型框架的插件。我的脚本经常使用它的库。现在有人正在使用另一个平台,有自己的库等等(可能和我使用的框架一样强大)想要在我的脚本中调用函数。
使我的脚本可以从另一个框架调用的最佳方法是什么?
有人根据他们所做的尝试得出一个意见,例如,当其中一个平台决定升级时哪个是最好的解决方案?
干杯!
答案 0 :(得分:2)
从性能,可维护性和可读性的角度来看,最好选择一个“框架”并坚持下去(针对应用程序)。我把框架放在引号中,因为我也在一组库的上下文中使用它。
您的每个解决方案都可以使用,但我认为如果是单个应用程序,最好的解决方案是#3。如果它们是离散的应用程序(#松散地将应用程序彼此耦合),它将更好地工作。
就个人而言,我建议为应用程序选择一个框架并坚持使用它。所以#3将是我的建议(不知道它们是否是单独的应用程序)......
答案 1 :(得分:1)
为了使您的代码可以跨框架移植,您可以编写一个额外的抽象层 - 框架层。然后,您为每个支持的框架添加一个包含。可以通过检测框架在运行时确定包含哪个文件。无论你在底层框架中调用一个函数,都要调用自己的函数,然后这个函数调用框架中的相应函数。
您可以将其开发为接口,并为实现此目的的每个框架创建一个类。
答案 2 :(得分:1)
假设您愿意让他们完全访问您的库(默认情况下通常不是全局可读的),您将要求他们加载并使用两个框架的所有开销,这可能是一个真正的性能杀手。就像加载Jquery和Prototype一样,你可以做到,但它并不是非常聪明。
使用webservices路由可以解决您的安全问题,将这两个框架分开,将您打开以供将来使用(无论其框架/平台如何),并且可能会节省时间。
答案 3 :(得分:1)
@ircmaxell提出了一个很好的观点,但是我会扩展它,如果你有这样做,并且你有PHP 5.3的奢侈,在框架之间使用带有任何扩展或代理代码的命名空间。