2013-08-30 89 views
1

我們正在用CakePHP在PHP中構建一個Intranet Web應用程序。 但是我們幾乎沒有CakePHP的經驗 我們的Intranet將有兩個用戶門戶。CakePHP - 如何設置多個使用相同功能的應用程序/門戶

  1. 員工門戶
  2. 客戶端門戶

門戶網站都將使用相同的數據,但有自己的用戶界面。 員工可以看到除客戶端以外的其他數據,反之亦然。

我們希望爲兩個門戶建立一箇中心核心。例如,一個認證系統,一個聯繫表單,一個通知功能,相同的頁腳信息等等。我們希望儘可能使用這個中心核心,所以我們不必重寫代碼。

Layered App's

我們使用的Git來管理我們的代碼。我們想爲兩個門戶和共享核心建立一個分支。

我們希望您可以給我們一些關於如何使用CakePHP進行設置的建議。

  • 構建多個應用程序是一個好主意嗎?
  • 或者我們應該在兩個Web服務器上運行CakePHP和我們的核心? (每個門戶一個)
  • 或者我們應該使用核心功能的插件嗎?
  • 或者我們應該使用具有多個視圖的單個控制器(一個用於員工,另一個用於客戶端?)
  • 或者完全不同的東西?

感謝您的任何意見

+0

功能有多大?它真的是一個應用程序,還是它是多個應用程序的組合,如crm,訂單,倉庫等?根據這些信息,你可以得到更好的答案。 –

回答

1

最終,您將開始注意到2個門戶和代碼庫之間的相似之處。如果他們共享相同的數據,爲什麼你沒有單一的代碼庫,並有權限基於角色的用戶可以看到什麼?當我們將3頁合併爲1時,我們不得不這樣做。1頁是admin,另外2頁是其他角色。然後用戶開始請求第2頁上的功能,即第1頁已經擁有的功能等等,它變得一團糟,我們決定將這些頁面合併爲1,並根據其角色對每個用戶可以看到的內容進行許可。也閱讀更多關於助手,因爲它會派上用場,所以你不會讓你的視野臃腫。

0

以我的經驗門戶通常是一些CRUD框架上很薄的一層。我認爲這兩個應用程序之間代碼共享的機會非常有限。你可以共享授權和認證..這就是它,我不知道是否共享這部分是一個好主意(可能不是)。

如果大部分代碼用於構建HTML視圖,那麼最終可能會爲員工和客戶端提供兩個完全獨立的視圖。

0

正如Ayo提到的......單獨的權限將分隔兩個用戶組,您可以利用CakePHP的佈局或主題功能爲每個用戶組提供完全兩種不同的外觀。

您可能還想看看CakePHP插件功能。它允許您輕鬆地將新功能添加到現有的應用程序,而不會混淆現有的代碼庫。

相關問題