如何在CakePHP中的应用程序之间共享模型类?

时间:2009-09-22 18:06:06

标签: cakephp

我在CakePHP中有两个应用程序,App A和App B.我希望App B可以访问App A中的模型。我发现这可以通过bootstrap.php文件中的$ modelPaths变量实现,但是我在两个应用程序中都有一些具有相同名称的模型。这是一个问题吗?如果这是一个问题,我如何才能从App A中仅选择一些模型供App B使用?如果这不是问题,我怎么知道App A的型号是什么,App B的型号是什么?感谢

2 个答案:

答案 0 :(得分:3)

我相信CakePHP会加载它找到的第一个模型。

如果我是正确的,它将从您的app/models/文件夹(及其包含的所有子目录)中的模型开始,然后遍历您定义的每个其他类路径(即$modelPaths中的那些),然后最终寻找核心模型(即cake/lib/model/)。

基本上,Cake会将模型加载到核心,除非其他地方存在模型。然后它会将模型加载到其他位置,除非应用程序目录中有特定于应用程序的模型。

通过一些基本测试,你应该能够确认是否是这种情况。

答案 1 :(得分:0)

有点过时了。但是在Linux机器上,您可以使用符号链接(https://en.wikipedia.org/wiki/Symbolic_link)来指定您需要在这两个应用程序之间共享的模型。

可能的问题:
1)不能解决相同型号的问题 2)不同的数据源 - 如果您还想使用App B中的App A表 3)为所有相关的行为,类

创建符号链接