一个域网站下的多个应用程序最佳架构

时间:2013-02-21 17:55:14

标签: php architecture laravel

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

将所有内容整合到一个单一的应用程序中可能暂时没问题,但它可能会在未来带来一些挑战。这与能够单独发布个别应用程序有关。

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

  1. 基础框架,可能扩展了现有框架,添加了对所有应用程序通用的组件。这个框架应该自己进行版本控制,并且可以链接到每个应用程序(使用类似svn external的东西)。每个应用程序都可以选择使用哪个框架版本,以防更改为一个或多个应用程序提供中断。

  2. 单点登录,如果您有现有的LDAP服务器,域控制器,谷歌应用程序,我会将其用于任何应用程序的基本身份验证。

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

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

相关问题