2011-11-26 95 views
1

我可以更改默认的Symfony2结构以适合我的需求吗? 我喜欢的后续结构,但不知道如何得到它的工作..如何更改Symfony2默认结构?

core/ <- Symfony2 core files 
app/ <- All applications 
app/Acme/ <- Application for Acme enterprise (with all bundles..) 
app/clientone.com/ <- Application for Client One enterprise (with all bundles..) 

回答

3

内Symfony2的分布有4个主目录:

  • 应用(有客户化你的应用程序)
  • 供应商(symfony的和其他的库)
  • SRC(源代码,其可以或可以不被专用, 可以有束ClientoneBundle其是仅专用于该应用程序, 但也可能是您的应用程序中重用的包, - 如UserBundle)
  • 网站(HTTP文档根目录)

所以如果你有多个应用程序,你可以单独保留供应商。每个应用程序可能包含三个目录,如: - 应用程序/ ACME /应用 - 应用程序/ ACME/src目录 - 应用程序/ ACME /网络 - 应用程序/ clientone /应用 - 应用程序/ clientone/src目录 - 应用/ clientone/web - some/where/else/in/filesystem/vendor

要实现这样的设置非常简单, - 您只需编辑autoload.php(驻留在应用程序目录中),只需替换无处不在__DIR__.'/../vendor__DIR__.'/../vendor, 换句话说,告诉symfony2你把供应商移到了别的地方。

(我只是改名为app目录在你的设置到应用程序 - 将不会与应用程序的目录混淆,内部的每个应用程序的)

+0

的VENDO目录有Symfony的核心文件,加上第3部分库? –

+0

另一个问题,我可以分享应用程序之间的捆绑? –

+0

是的,供应商是Symfony +其他一些库,如Doctrine,Swiftmailer等。 bundle可以共享,每个bundle都可以在autoload.php中设置,参见registerNamespaceFallbacks。 –