0

我正在开发一个内部网站,其中包含大约 30 个单独的实用程序(将来会添加更多)。我正在尝试用 Laravel 做到这一点。这样做的最佳做法是什么?

以下是本网站的一些特点。

  • 一些实用程序足够大,可以被视为单独的应用程序
  • 有些很小,显示静态数据,无需用户交互,但与数据库交互
  • 一些显示动态内容作为与用户交互的结果
  • 有些是 CRUD 实用程序
  • 每个实用程序都有自己的权限,每个用户都有不同的权限集
  • 通过一次登录,用户应该能够访问他/她被允许使用的实用程序
  • 每个实用程序与不同数据库中的不同表进行交互。它们有一些共同使用的表,但这种情况很少见

目前,我为每个实用程序都有单独的控制器、模型、视图,这使得 MVC 模式无用。我想将每个实用程序作为一个捆绑包,但是它违反了 DRYness(我可能不得不重复我的代码的某些部分)。

构建这个网站的最佳方式是什么?

4

1 回答 1

0

将所有东西都放在一个单一的单体应用程序中可能暂时还不错,但它在未来可能会带来一些挑战。这与能够单独发布单个应用程序有关。

如果我从头开始设计你所拥有的东西,我会看到这样的东西:

  1. 基本框架,可能是现有框架的扩展,添加了所有应用程序通用的组件。这个框架应该自己进行版本控制,并将链接到每个应用程序(使用类似 svn 外部的东西)。每个应用程序都可以选择他们正在使用的框架版本,以防一个或多个应用程序发生变化。

  2. 单点登录,如果你有一个现有的 LDAP 服务器、域控制器、谷歌应用程序,我会用它来对任何应用程序进行基本身份验证。

  3. 所有应用程序都可以访问相同的数据库或数据存储。

  4. 您可能能够集中权限控制,但这取决于。这可能会变得相当笨拙,但同时它会给你一个地方来处理权限。也许允许每个应用程序发布它需要的权限。

于 2013-02-21T18:22:11.263 回答