2013-08-30 45 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插件功能。它允许您轻松地将新功能添加到现有的应用程序,而不会混淆现有的代码库。

相关问题