2009-09-22 62 views
0

我在CakePHP中有兩個應用程序,應用程序A和應用程序B.我希望應用程序B可以訪問應用程序A中的模型。我發現這可以通過bootstrap.php文件中的$ modelPaths變量來實現,但我有一些型號在兩種應用中都具有相同的名稱。這是一個問題嗎?如果這是一個問題,我如何才能從App A中選擇一些模型供App B使用?如果這不是問題,我怎麼知道App A的模型和App B的模型?謝謝如何在CakePHP中的應用程序之間共享模型類?

回答

3

我相信CakePHP會加載它找到的第一個模型。

如果我是正確的,它會在你的app/models/文件夾模式(它包含任何子目錄)開始,然後通過你定義的每個額外的類路徑遍歷(即那些$modelPaths),最後尋找在模型核心(即cake/lib/model/)。

所以基本上,Cake會將模型加載到核心中,除非模型存在於別處。然後它將在其他地方加載模型,除非應用程序目錄中存在特定於應用程序的模型。

通過一些基本的測試,您應該能夠確認是否屬於這種情況。

0

有點過時。但是在Linux機器上,您可以使用符號鏈接(https://en.wikipedia.org/wiki/Symbolic_link)來指定您需要在這兩個應用程序之間共享的模型。

可能的問題:
1)同一型號名稱
2)不同的數據源不解決方案 - 你還需要使用應用程序A的表從應用B
3)創建符號鏈接所有相關行爲的情況下,類

相關問題