2012-07-10 60 views
0

我开始新的项目为我公司和它的要求下,一个域名托管多个应用程序。每个应用程序必须可以通过不同的子域(通配符)访问。其中一个应用程序将成为所有子应用程序的控制面板。由于子应用程序的复杂性,创建一个多模块应用程序不是一种选择。Zend框架 - 许多多个应用程序

所有应用程序必须共享公共库,并访问一些特定应用程式的。

我还在努力设计目录结构,使存储公共文件夹之外的每个应用程序,通过子域动态地访问他们并单独存放公用文件夹中的某些文件为他们每个人。

我已经想通了,到目前为止:

主机的默认目录ZF结构中的每个应用程序在不同的目录外的公众。通过插件将文件从app公共目录打印到浏览器(巫婆在域公共目录之外),可以访问公共文件。只有更改为默认ZF应用程序的是,public_html中只有一个index.php文件可以基于子域启动请求的应用程序。

domain_dir/ 
    controllPanel_app/ 
     application/ 
      configs/ 
      modules/ 
      layouts/ 
      Bootstrap.php 
     library/ 
     public/ 
    subApps/ 
     exampleSub_app/ 
      application/ 
      library/ 
      public/ 
     anotherExampleSub_app/ 
      application/ 
      ... 
    common/ 
     library/ 
      Zend/ 
      Other/ 
    public_html/ 
     index.php 

这是个好主意吗?

+1

这听起来很麻烦。您能详细说明为什么您认为子应用程序对于单个多模块应用程序的工作过于复杂吗?使用你的解决方案,你仍然会拥有相同数量的代码,但是你必须通过大量的工作来实现它。 – 2012-07-10 22:12:13

+0

每个应用程序将为不同的复杂移动应用程序的cms和web服务。不幸的是,我的英语技能超出了我的解释范围,但其中一些应用程序已经存在很多模块,因此将其与其他应用程序混合在一起不是好主意另一个原因是寒意应用程序彼此无关,需要单独工作。 – Adam 2012-07-10 22:22:04

回答

0

你能做到这一点,你建议的方式,但我认为这将是更多的麻烦比它的价值。 Zend框架是为模块设计的,如果需要的话,但不是子应用程序。你可能最终会遇到一个Zend Router恶梦,或者一些复杂的诡计,这两者都很难维护。

为什么没有为您的控制面板为每个子域一个完全独立的Zend框架应用程序,而另一个单独的应用程序?您的公司(或您自己)应该能够重新配置您的HTTP服务器,以便每个子域可以拥有自己的文档根目录。我为我自己的公司做这件事,情况与此类似。 (普通控制面板应用具有不同的面向公众的应用为不同的目的,以及具有共享代码公用库。)

可以以多种方式共享公共库文件夹。一种是如果每个应用都将该文件夹添加到其每个应用的index.phpBootstrap.php文件中的PHP include_path。我更喜欢这样做。另一种方式是通过每个应用程序的library文件夹中的符号链接。