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