1

我们正在使用 CakePHP 用 PHP 构建一个 Intranet Web 应用程序。然而,我们几乎没有使用 CakePHP 的经验。我们的 Intranet 将有两个用户门户。

  1. 员工门户
  2. 客户门户

两个门户将使用相同的数据,但有自己的用户界面。员工可以看到客户以外的其他数据,反之亦然。

我们希望为这两个门户建立一个中央核心。例如,单个身份验证系统、联系表单、通知功能、相同的页脚信息等。我们希望尽可能多地使用这个中心核心,这样我们就不必重写代码。

分层应用程序

我们使用 Git 来管理我们的代码。我们希望为两个门户和一个共享核心创建一个分支。

我们希望您能给我们一些关于如何使用 CakePHP 进行设置的建议。

  • 构建多个应用程序是个好主意吗?
  • 或者我们应该只在两个 Web 服务器上运行 CakePHP 和我们的核心?(每个门户一个)
  • 或者我们应该为核心功能使用插件?
  • 或者我们应该使用具有多个视图的单个控制器(一个用于员工,一个用于客户端?)
  • 还是完全不同的东西?

感谢您的任何建议

4

3 回答 3

1

最终,您将开始注意到 2 个门户和代码库之间的相似之处。如果他们共享相同的数据,为什么你没有一个单一的代码库,并且根据角色对用户可以看到的内容拥有权限?我们最近在将 3 个页面合并为 1 个时必须这样做。1 个页面用于管理员,另外 2 个用于其他角色。然后用户开始在第 2 页上请求第 1 页已经具有的功能等等等等。它变得一团糟,我们决定将这些页面合并为 1,并根据每个用户的角色对每个用户可以看到的内容拥有权限。还可以阅读更多关于助手的信息,因为它会派上用场,所以你不会让你的视图变得臃肿。

于 2013-08-30T12:29:52.680 回答
0

以我的经验,门户通常是一些 CRUD 框架之上的一个非常薄的层。我认为这两个应用程序之间代码共享的机会非常有限。您可以共享授权和身份验证..仅此而已,我不知道共享这部分是否是个好主意(可能不是)。

如果您的大部分代码都用于构建 HTML 视图,您最终可能会得到两个完全独立的员工和客户视图。

于 2013-08-30T09:42:25.053 回答
0

正如 Ayo 所提到的......仅权限将两个用户组分开,您可以利用 CakePHP 的布局或主题功能为每个用户组提供完全两种不同的外观。

您可能还想看看 CakePHP 插件功能。它使您可以轻松地将新功能主义者添加到现有应用程序中,而不会弄乱现有代码库。

于 2013-09-06T16:31:43.637 回答