2009-09-14 117 views
2

只是很好奇人們如何使用Zend解決多租戶(特別是目錄結構,數據庫,模塊性,每租戶視圖等)。我沒有發現自己太多,任何人?Zend框架多租戶

回答

5

它需要一點工作,但它是可行的。我不確定我的方法遵循多租戶的最嚴格定義,但是如果它給了你一些想法:

我有一個安裝我的應用程序,它主要遵循推薦的項目結構(http://framework.zend.com/manual/en/project-structure.project.html)。然後,我使用應用程序爲每個站點提供一個ZF應用程序。這些文件都包含一個到主應用程序的符號鏈接(目前在庫文件夾中,儘管這可能會改變)。網站應用程序均使用主應用程序的引導類,但它們具有自己的配置文件。

該應用程序包含大量的模塊,每個模塊可能或不可能在每個站點上啓用。我在引導程序中有一個_initModules()方法,該方法查詢數據庫以確定應啓用哪些模塊。然後這些以正常方式引導。

可以將其他視圖路徑(按順序檢查)添加到Zend_View中,以便站點將自己的視圖路徑添加到堆棧。通過這種方式,網站可以輕鬆覆蓋主應用程序中的視圖。也可以將一個特定於站點的模型目錄添加到include_path,這將允許站點覆蓋應用程序模型,儘管我還沒有找到這種需求(並且可能會對性能產生影響)。

+0

感謝您的回覆,這是一個簡單的方法從頭開始。另外,Zend並不是特定的,但是你有租戶的數據庫嗎?似乎有很多關於單獨的還是共享的數據庫最好的爭論,我只是好奇人們究竟在做什麼。 – 2009-09-16 20:21:47

+0

我有一個單獨的數據庫每租戶。我認爲這個問題的答案在很大程度上取決於應用程序的具體情況,但通常情況下,除非您需要在租戶之間共享大量數據,否則擁有單獨的數據庫似乎更容易。 – 2009-09-16 23:48:13