Php 如何更改Symfony2默认结构?
我可以更改默认的Symfony2结构以满足我的需要吗? 我喜欢下面的结构,但不知道如何让它起作用Php 如何更改Symfony2默认结构?,php,symfony,Php,Symfony,我可以更改默认的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
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..)
core/在symfony2发行版中有4个主要目录:
- 应用程序(您的应用程序具有自定义功能)
- 供应商(symfony和其他库)
- src(您的源代码可能是特定于应用程序的,也可能不是特定于应用程序的,
可能存在仅适用于此应用程序的捆绑ClientoneBundle,
但也可以是在应用程序中重用的捆绑包,例如UserBundle)
- web(http文档根)
因此,如果您有多个应用程序,您可以单独保留供应商。每个应用程序可能包含三个目录,如:
-apps/acme/app
-apps/acme/src
-apps/acme/web
-apps/clientone/app
-apps/clientone/src
-apps/clientone/web
-some/where/else/in/filesystem/vendor
要实现这样的设置非常简单,-您只需编辑autoload.php(位于app dir中),只需将everywhere\uuuuuu dir\uuuu./../vendor
替换为\uuuuuu dir./../vendor
,
换句话说,告诉symfony2您将供应商转移到了其他地方
(我刚刚在你的设置中将app directory重命名为apps-为了不与app directory混淆,在你的每个应用程序中)vendo目录包含Symfony核心文件,以及第三部分libs?另一个问题,我可以在应用程序之间共享捆绑包吗?是的,供应商是Symfony+其他一些库,如Doctrine、Swiftmailer和其他库。捆绑包可以共享,在每个捆绑包所在的位置,您也可以在autoload.php中进行设置,请参阅registerNamespaceFallbacks。